Laravel Validator 使用笔记

扩展

// 扩展验证方法
Validator::extend('valid_code',function ($attribute, $value, $parameters, $validator){
    return strlen($value) == 5;
},'编号不符合 :valid_year 年的要求');

// extendImplicit与extend的区别: 即使该字段规则中没有required也执行该验证
Validator::extendImplicit('valid_code',function ($attribute, $value, $parameters, $validator){
    return strlen($value) == 5;
},'编号不符合 :valid_year 年的要求');

// 替换该验证规则中的占位符
Validator::replacer('valid_code', function($message, $attribute, $rule, $parameters) {
    return str_replace(':valid_year','2017',$message);
});

$validator = Validator::make($input,[
    'code'=>'required|valid_code',
]);
// code.valid_code 若错误返回信息"编号不符合 2017 年的要求"

定义验证详解

$validatorStatus = $validator->passes(); //(bool)执行验证并返回是否验证成功
$validatorErrors = $validator->errors()->all();//(array)返回获得的错误信息数组
if(!$validatorStatus){
    return redirect('login')
        ->withErrors($validatorErrors)
        ->withInput();
}

验证与获取结果

$validator = Validator::make($input,[
    'code'=>'required|captcha',
],[
    'code.captcha'=>'The :attribute is invalid .'
],[
    'code'=>'code of captcha'
]);
// The code of captcha is invalid .

Validator::make($rules,$messages,$customAttributes)

  • rules: 定义验证规则
  • messages: 定义错误信息
  • customAttributes: 定义字段别名用于替换错误信息中的:attribute.

若验证失败返回错误信息为The code of captcha is invalid .
不定义customAttributes错误信息为The code is invalid .

个人博客 http://blog.xcxxkj.com
代码仓库 https://github.com/sleep-cat

本作品采用《CC 协议》,转载必须注明作者和本文链接
转载请告知
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!