zoukankan      html  css  js  c++  java
  • laravel自定义校验

    Laravel内置的验证规则不够用?咋办?
    我们自己来定义!

    首先在 appProvidersAppServiceProvider.php 文件中添加我们自定义的规则:

    在boot方法中添加:

    <?php
    
    namespace AppProviders;
    
    
    use IlluminateSupportServiceProvider;
    
    class AppServiceProvider extends ServiceProvider
    {
    /**
    * Bootstrap any application services.
    *
    * @return void
    */
    public function boot()
    { //密码格式验证 密码必须由字母和数字组成
    IlluminateSupportFacadesValidator::extend('zzregex', function($attribute, $value, $parameters) {
    return preg_match('/([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*/', $value);
    });
    //手机号格式验证
    IlluminateSupportFacadesValidator::extend('telphone', function($attribute, $value, $parameters) {
    return preg_match('/^1[34578][0-9]{9}$/', $value);
    });
    }

     


    当然 上面代码中IlluminateSupportFacadesValidator 可以换成Validator 然后在头部use IlluminateSupportFacadesValidator ; 就行了

    自定义验证错误信息,找到resourceslangvalidation.php文件
    在return中添加

    <?php
    
    return [
    
    'zzregex' => '密码必须包含字母和数字',
    'telphone' => 'T手机号格式不正确',
    ]
    

     

    这样就可以在用我们自定义的规则了。

    自定义验证错误信息也可以在使用的时候添加到message数组中,如下:

    public function register(){
    $input=Input::all();
    //获取用户输入的账号和密码
    $rules=[
    'code'=>'required',
    'mobile'=>'required|telphone',
    'password'=>'required|between:6,16|zzregex'
    ];
    $message=[
    'code.required'=>'验证码不能为空',
    'mobile.required'=>'手机号不能为空',
    'mobile.telphone'=>'请输入正确的手机号',
    'password.between'=>'密码必须在6-16位之间',
    'password.zzregex'=>'密码必须由字母和数字组成',
    'password.required'=>'密码不能为空'
    ];
    $validator=Validator::make($input,$rules,$message);
    if(!$validator->passes()){
    $validatorErrs = $validator->errors()->all();
    $errMessages=['errcode'=>1, 'msg'=>$validatorErrs];
    return response()->json($errMessages);
    }
    

      

  • 相关阅读:
    零开始:NetCore项目权限管理系统:登录授权
    零开始:NetCore项目权限管理系统:定义基本接口和实现
    零开始:NetCore项目权限管理系统:基础框架搭建
    javascript匿名函数
    锚链接
    前端面试题(js部分)
    font-size:100%
    line-height影响排版
    设置苹果手机input按钮和button按钮颜色显示问题
    !important的用法及作用
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/12504297.html
Copyright © 2011-2022 走看看