Laravel中的信息验证 和 语言包

首先,谈下语言包的问题

1、安装语言包,通过composer进行安装

composer require "overtrue/laravel-lang:dev-master"

2、安装成功后,要到config/app.php中修改一下配置,

‘Illuminate\Translation\TranslationServiceProvider‘

改为

‘Overtrue\LaravelLang\TranslationServiceProvider‘,

3、再更改 配置

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

中的

‘locale‘=> ‘zh-CN‘

同时在resouces/lang/下面和 en 文件夹同级别的 的建立一个 zh-CN文件夹

可以在里面建立一个validation.php 文件

加入一下内容,待一会用

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

再谈如何验证信息

在文件的首部加入

use App\Services\Registrar;

例如我要创建一个 

function createUser()
{
     $data = array(
               'name'     => 'admins',
               'email'     => '[email protected]',
               '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']),
          ]);
     }

}

时间: 2024-10-12 17:29:44

Laravel中的信息验证 和 语言包的相关文章

laravel框架中注册信息验证

1.路由配置<?phpRoute::get('/',['as'=>'blog.index','uses'=>'[email protected]']);Route::get('/create',['as'=>'blog.create','uses'=>'[email protected]']);Route::post('blog/store',['as'=>'blog.store','uses'=>'[email protected]']); 2. 控制器分配页面

Win7 SP1语言包微软官方下载地址及使用方法 2

情形一:如果您的系统版本是企业版.旗舰版,可以在Windows update中检测语言包按照提示下载安装即可.如果觉得Windows update不方便的话,可以在本文第二部分中下载所需的语言包,下载完毕后双击 .exe 可执行文件就可以安装语言包. 安 装完成之后切换显示语言的方法:在开始菜单左下角的搜索框中输入“语言”作为关键字,并从搜索结果中选择“更改显示语言”,随后可以看到更改界面.在“选 择显示语言”下拉菜单中,列出了本机安装的所有语言包,从中选择要使用的语言,并单击“确定”,注销并重

为 JIRA 6.x 安装中文语言包

安装了JIRA 6.0.2但默认情况下是不带中文语言包的,从网上下了一些号称是中文的语言包,但是发现翻译的情况都不怎么样,而且还有大量的未翻译的情况.在搜索了一番之后,发现官方提供的有中文的语言包,现在的完成度大概为61%(自己之前还想着自己写插件呢,汗颜~). 官方的合作翻译平台:https://translations.atlassian.com/dashboard/dashboard 点击如下图所示的位置,在弹出的页面中,点击下载语言包,会得到一个名为JIRA-6.0.2-language

thinkphp 外部js语言包

Thinkphp php文件也外部js文件公用同一个语言包 一 . php语言包转json数据格式 1.新建验证字段的语言包 application\common\lang\validate-cn.php <?php // 验证字段语言包 中文 return [ 'validate'=>[ 'name' => [ 'empty'=> '用户名不能为空', 'length' => '用户名长度6-20字符' ], 'email' => [ 'empty' => '邮

用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]

前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 用SignalR 2.0开发客服系统[系列3:实现点对点通讯] 用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR] 以上是系列目录,终于到了结束的时候了.... 为了这个系列,真的是绞尽脑汁,终于..决定在这里完结了.. 值得兴奋的是,在SignalR2.2的NuGet包中,终于出现了简体中文语言包.(

Confluence 6 手动安装语言包和找到更多语言包

手动安装语言包 希望以手动的方式按照语言包,你需要按照下面描述的方式上传语言包.一旦你安装成功后,语言包插件将会默认启用. 插件通常以 JAR 或者 OBR(OSGi Bundle Repository)的方式进行分发.希望安装一个插件: 选择 配置图标(cog icon),然后在 Confluence 管理员中选择 基本配置(General Configuration). 选择 管理插件(Manage Add-ons). 选择 上传插件(Upload Plugin). 选择 浏览(Browse

玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)

在浏览器与服务器进行交互时,往往需要把涉及到的一些数据保存下来,这时就需要使用cookie或session进行状态管理. 这篇文章先来说说session怎么用,首先在servlet中创建一个session来保存信息,举个例子,在做登陆验证时,如果登陆成功,需要将用户的信息保存到session中,怎么保存呢?下面给出代码: public class Login_Do extends HttpServlet { String order_name = ""; String order_pa

【干货】Laravel --Validate (表单验证) 使用实例

前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的 HTTP 请求.要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子. 在这之前如果您是首次接触 Laravel 而且并不知道路由如何跳转到指定的控制器 可以查看博主的Restfulapi或者Laravel官网对路由的介绍,在这里就不做介

thinkphp自动验证中的静态验证和动态验证和批量验证

1.静态定义 在模型类里面预先定义好该模型的自动验证规则,我们称为静态定义. 举例说明,我们在模型类里面定义了$_validate属性如下: class UserModel extends Model{ protected $_validate = array( array('verify','require','验证码必须!'), //默认情况下用正则进行验证 array('name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一 ar