[转]Laravel 4之验证
基本验证
使用Validator::make($data, $rules)验证,第一个参数为需验证的数据,第二个参数为每个字段的验证规则
Route::post('/registration',function(){$data =Input::all();// Build the validation constraint set.$rules = array('username'=>'alpha_num');// Create a new validator instance.$validator =Validator::make($data, $rules);});
如需多个验证规则,使用|隔开
$rules = array('username'=>'alpha_num|min:3');
或是使用数组
$rules = array('username'=> array('alpha_num','min:3'));
创建完一个验证,使用$validator->passes()或$validator->fails()执行验证,判断验证是否通过
if($validator->passes()){// Normally we would do something with the data.return'Data was saved.';}
具体验证规则参考官方API
错误消息
获取错误消息列表
$errors = $validator->messages();
获取一个域的第一个消息
$errors->first('email');
获取一个域的全部消息
foreach($errors->get('email')as $message){//}
获取全部域的全部错误消息
foreach($errors->all()as $message){//}
检查一个域是否存在消息
$errors->has('email')
向视图反馈消息
returnRedirect::to('/')->withErrors($validator);
在视图中使用
<ulclass="errors">@foreach($errors->all() as $message)<li></li>@endforeach</ul>
以某种格式获取消息
@foreach($errors->all('<li>:message</li>')as $message)@endforeach
或是
$errors->first('username',':message',<span class="error">:message</span>)
自定义验证规则
Validator::extend('awesome',function($field, $value, $params){return $value =='awesome';});
定制的验证器接受三个参数:待验证属性的名字、待验证属性的值以及传递给这个规则的参数。传递一个类的函数到 extend 函数,而不是使用闭包:
Validator::extend('awesome','CustomValidation@awesome');
自定义错误消息
传递定制消息到验证器
// Build the custom messages array.$messages = array('min'=>'Yo dawg, this field aint long enough.');// Create a new validator instance.$validator =Validator::make($data, $rules, $messages);
验证占位符
$messages = array('same'=>'The :attribute and :other must match.','size'=>'The :attribute must be exactly :size.','between'=>'The :attribute must be between :min - :max.','in'=>'The :attribute must be one of the following types: :values',);
对一个指定的域指定定制的错误消息
$messages = array('email.required'=>'We need to know your e-mail address!',);
结束
[转]Laravel 4之验证的更多相关文章
- Laravel表单验证提示设置多语言
默认表单提示是英文的,我们可以安装语言包构建多语言环境. 根据版本选择命令 For Laravel 7.x : run composer require caouecs/laravel-lang:~6 ...
- 社群系统 ThinkSNS+ 中如何利用 Laravel 表单验证来验证用户名的?(我朝独有需求,两个字母占一个汉字。。。)
ThinkSNS+后端框架使用laravel,每周和 laravel master 保持同步,而后台和 html 5 则采用 vue 开发.语言特性方面,采用 php 7 的严格模式. 言归正传,之所 ...
- laravel中的验证及利用uploadify上传图片
$rules = [ 'password'=>'required|between:6,20|confirmed', ]; $message = [ 'password.required'=> ...
- laravel拓展validator验证
https://blog.csdn.net/zl20117/article/details/53536520 首先,扩展的收个问题是,我的扩展类应该放在哪儿才好呢? 直接在app目录下,建立一个目录: ...
- laravel 表单验证 Exists 规则的基本使用方法
public function rules(){ return [ 'm_pushing_frequency_level_id' => 'integer|required|exists:m_pu ...
- laravel表单验证
效果展示: 代码 实现: 后台: use Validator; public function login() { if($input = Input::all()){ //验证提交的 ...
- laravel 关闭 csrf 验证 TokenMismatchException
csrf验证失败 注释掉kernel.php 的 csrf 行代码
- Laravel 表单验证创建“表单请求”实现自定义请求类
按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...
- laravel短信验证
短信验证按钮倒计时功能: $('.btn').click(function(){ var time = 59; // $('.btn').css('background-color','#ccc'); ...
随机推荐
- StretchDIBits使用方法
转自:http://blog.csdn.net/giantchen547792075/article/details/6996011 StretchDIBits 函数把DIB.JPEG.PNG图像中一 ...
- vsftp虚拟用户登录配置详解
一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...
- asp.net mvc 页面缓存
在任务中需要实现点击浏览器back按钮,加载的前一页面需要强制刷新. 想要在前端通过js来绑定数据实现,但是觉得太麻烦,还是用另一种方式来解决: 不缓存该页面. 简单易懂: Response.Cach ...
- 如何在pl/sql developer 7运行到oracle存储过程设置断点的地方
如何高效调试oracle存储过程,尤其是父子网状调用的存储过程 1,在需要设置断点的oracle存储过程处设置断点 如何设置断点:直接在某行oracle存储过程处单击行首,会在行首显示 ...
- Android与JS混编(js调用java)
项目中需要使用android与js的混编来开发app. 下面就介绍一下吧. 有时候我们需要用js调用native控件,要想实现这个功能,我们需要做的就只有三步: 1.允许webview执行js脚本 2 ...
- LinkedList : 双向链表与实现
所谓双向链表: (由此图可见老夫深厚的画功) 链表,就是由一个一个的节点连接组成. 在这里,每一个节点都是由三部分组成:上一个节点.当前节点的元素.下一个节点 当链表中只有一个节点的时候,这个节点指向 ...
- win8 安装myeclipse 失败 MyEclipse ForSpring 安装失败
好像是main方法.jar无法载入之类的.. 可能是权限的问题哦.. 使用管理员权限试一下..
- win7_64位主机装虚机Linux系统(VMware Workstation10+CentOS6.5)详细步骤图文讲解
第一步:创建新的虚拟机 第二步:选择“典型”安装 第三步:选择映像文件安装—浏览选择iso文件 第四步:选择稍后安装操作系统 第五步:系统选择Linux,版本选择centOS64位 第六步:虚拟机名称 ...
- Qt Creator的配置
说明:一直想入手QT,看了相关的教程也有一段时间了,但苦于安装QT编辑器一直没有成功,今天手痒痒,于是又来捣鼓一阵子,成功了,特记录下来,方便日后查阅: 环境:win7 x64 + QT Creat ...
- clearInterval()与setInterval()的应用
1.setInterval()按照一定的周期调用函数2.clearInterval()取消setInterval()的周期调用 例如:图片轮播中的clearInterval()与setInterval ...