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);
    }
    

      

  • 相关阅读:
    典型页面布局
    网站表单输入框去除浏览器默认样式
    时间格式问题
    经典算法
    css自动换行
    git pull报“unable to update local ref”解决方案
    MYSQL数据插入和更新的语法
    正则表达式去除连续重复的字符
    linux保存住github的账号和密码
    php动态获取常量
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/12504297.html
Copyright © 2011-2022 走看看