zoukankan      html  css  js  c++  java
  • laravel 5.5 表单验证 添加自定义验证规则

    创建验证规则

    php artisan make:rule checkNameUnique
    //存放在 app/Rules 目录中
    <?php
    
    namespace AppRules;
    
    use IlluminateContractsValidationRule;
    use IlluminateSupportFacadesDB;
    
    class checkNameUnique implements Rule
    {
        protected $model;
        /**
         * Create a new rule instance.
         *
         * @return void
         */
        public function __construct($modelName)
        {
            $this->model = $modelName;
            DB::connection()->enableQueryLog();
        }
    
        /**
         * Determine if the validation rule passes.
         *
         * @param  string  $attribute
         * @param  mixed  $value
         * @return bool
         */
        public function passes($attribute, $value)
        {
            $id = request('id');
            if(!empty($id)){
                $map[] = ['id', '<>' ,$id];
            }
            $map[] = ['is_del', '=', 1];
            $map[] = [$attribute, '=', $value];
    
            $res = DB::table($this->model)->where($map)->first();
            if($res){
                return false;
            }
            return true;
    
        }
    
        /**
         * Get the validation error message.
         *
         * @return string
         */
        public function message()
        {
            return '名称已存在';
        }
    }
    //验证中调用自定义验证规则
    public function rules()
        {
            return [
                // 'brand_name' => 'required | unique:brands,brand_name',
                'brand_name' => ['required', new checkNameUnique('brands')],
                'brand_img' => 'image',
            ];
        }
  • 相关阅读:
    Graphics竖排打印字体
    VC GetDlgItem
    C# FontStyle
    VC弹出"选择文件"和"选择文件夹"对话框(转)
    VC获取应用程序路径
    SqlServer延时函数
    volatile修饰变量
    外部命令和内部命令
    curl命令简单使用
    close_socket断开连接的方式
  • 原文地址:https://www.cnblogs.com/zjj1990/p/9377201.html
Copyright © 2011-2022 走看看