• 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',
            ];
        }
  • 相关阅读:
    iOS 国际化
    iOS iOS7 20px 处理
    iOS 导航栏
    android Tab =viewpager+fragmnet
    Android fragment 想activity 传送数据
    sass sublime text 2 gulp ionic
    HTML5 Notification消息通知
    浅谈设备分辨比
    offsetwidth/clientwidth的区别
    移动端网页布局中需要注意事项以及解决方法总结
  • 原文地址:https://www.cnblogs.com/zjj1990/p/9377201.html
Copyright © 2020-2023  润新知