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

      

  • 相关阅读:
    【原】Ubuntu13.04安装、卸载Gnome3.8
    【原】安装、卸载、查看软件时常用的命令
    【原】中文Ubuntu主目录下的文档文件夹改回英文
    【原】Ubuntu ATI/Intel双显卡 驱动安装
    【转】Hadoop vs Spark性能对比
    【译】Spark调优
    【转】Spark源码分析之-scheduler模块
    【转】Spark源码分析之-deploy模块
    【转】Spark源码分析之-Storage模块
    【转】弹性分布式数据集:一种基于内存的集群计算的容错性抽象方法
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/12504297.html
Copyright © 2020-2023  润新知