Laravel中的信息验证 和 语言包

本文介绍如何在Laravel项目中配置多语言包,并实现自定义验证消息的方法。通过Composer安装多语言包并调整应用服务提供者,可以轻松切换语言环境。此外,还提供了使用自定义验证规则的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


首先,谈下语言包的问题

1、安装语言包,通过composer进行安装
composer require "overtrue/laravel-lang:dev-master"



2、成功安装后。要到config/app.php中改动一下配置,
'Illuminate\Translation\TranslationServiceProvider'
改为
     'Overtrue\LaravelLang\TranslationServiceProvider',


3、再更改 配置
<?

php return [ "min" =>[ "numeric" => "password 至少 :min.", "string" => "password至少 :min 位.", ], "confirmed" => "password两次输入不一致", ];


中的
‘locale'=> 'zh-CN'
     同一时候在resouces/lang/以下和 en 目录同级别的 的建立一个 zh-CN目录
能够在里面建立一个validation.php 文件
增加一下内容,待一会用

<?php
     return [
          "min"       =>[
               "numeric" => "password 至少 :min.",
               "string"  => "password至少 :min 位.",
          ],
          "confirmed" => "password两次输入不一致",
];


再谈怎样验证信息
在文件的首部增加

use App\Services\Registrar;


比如我要创建一个 

function createUser()
{
     $data = array(
               'name'     => 'admins',
               'email'     => 'admin@admin.comd',
               'password'     => '12345'
               );
          $register = new Registrar;
          $validator = $register->validator($data);     //通过Registrar类中的验证方法验证输入信息

          if(!$validator->fails())
          {
               $result = $register->create($data);

               if($result)
               {
                   return array('code' => 1, 'info' => '用户创建成功');
               }
          }
          else
          {
               $messages = $validator->messages();
               return array('code' => 0, 'info'=> $messages->first());
          }


    }

Registrar类的写法例如以下。差点儿为默认没有什么修改
<?php namespace App\Services;

use App\User;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;

class Registrar implements RegistrarContract {

     /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
     public function validator(array $data)
     {
          $validator = Validator::make($data, [
               'name' => 'required|max:255',
               'email' => 'required|email|max:255|unique:users',
               'password' => 'required|min:6',
          ]);
          return $validator;
     }

     /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
     public function create(array $data)
     {
          return User::create([
               'name' => $data['name'],
               'email' => $data['email'],
               'password' => bcrypt($data['password']),
          ]);
     }

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值