laravel validate学习笔记
2015-06-04 14:13
681 查看
Laravel 自带一个简单、方便的
Validation类用于验证数据以及获取错误消息。 http://www.cnblogs.com/yjf512/p/4324159.html 在model里面定义
public function checkValidate($data){ $rules = array( 'email' => 'required|email', 'name' => 'required|between:1,20', 'password' => 'required|min:8', ); $message = array( "required" => ":attribute 不能为空", "between" => ":attribute 长度必须在 :min 和 :max 之间" ); $attributes = array( "email" => '电子邮件', 'name' => '用户名', 'password' => '用户密码', ); $validate = Validator::make($data,$rules,$message,$attributes); return $validate; }在controller 里面 调用
public function test_Validator(){$data = Input::all();$user = new User();$validate = $user->checkValidate($data);if($validate->fails()){$warnings = $validate->messages();$show_warning = $warnings->first();print_r($warnings);print_r($show_warning);}else{echo 'aaa';}}
Validator的验证扩展
验证规则扩展
你一定会遇到比如要验证是否手机号合法的问题,laravel的Validator没有提供手机号验证的规则,因为每个国家的手机号规则是不统一的。但是这个使用想使用Validator做验证怎么办呢?Validator::extend('mobile', function($attribute, $value, $parameters){return preg_match('/^0?(13[0-9]|15[012356789]|18[0-9]|14[57])[0-9]{8}$/', $value);});然后在rule中就可以使用mobile做为规则了。这种扩展验证规则放到哪里呢?我建议是在filters同级目录下增加一个validator.php,然后再start/global.php中
require app_path().'/validator.php';
输出信息统一提示
上面的那个例子中,message和attribute都需要在使用validator的时候自己定义,比较麻烦,有没有更好的方法能统一设置呢?validator的提示设置是按照语言来进行设置的。语言设置是config目录下的app.php里面的locale界定的。默认为en。而en对应的错误提示都在lang目录下的en目录里面的validation.php中设置。你可以看一眼lang/en/validation.php 就明白对应的英文提示信息怎么出来的了。要设置中文提示:修改config/app.php里面的locale,设置为ch创建 lang/ch/validation.php修改validation.php文件,将里面的提示信息修改为中文,注意提示信息中的:attribute在显示的时候会被替换成对应属性名称,attributes是设置属性的中文名字的。从这里也就看出来了laravel对跨语言的支持是什么样子的。lang下面的文件夹除了validation.php之外还有分页:pagination.php,提示:reminders.php文件。laravel自带了哪些rule规则呢?
查看手册吧。。。laravel自带的验证规则相关文章推荐
- 简单对比分析Ruby on Rails 和 Laravel
- laravel安装zend opcache加速器教程
- 使用 PHPStorm 开发 Laravel
- 跟我学Laravel之请求与输入
- 跟我学Laravel之视图 & Response
- PHP IDE PHPStorm配置支持友好Laravel代码提示方法
- Laravel 5.0 发布 新版本特性详解
- 推荐几款用 Sublime Text 开发 Laravel 所用到的插件
- Laravel中使用阿里云OSS Composer包分享
- Laravel 4 初级教程之Pages、表单验证
- Laravel框架表单验证详解
- Laravel框架中扩展函数、扩展自定义类的方法
- Laravel 4 初级教程之安装及入门
- laravel安装和配置教程
- PHP开发框架laravel安装与配置教程
- 跟我学Laravel之安装Laravel
- 跟我学Laravel之配置Laravel
- Laravel框架学习笔记(一)环境搭建
- 分享一个Laravel好用的Cache宏
- laravel 4安装及入门图文教程