yii自定义验证

 

  • 自定义验证类
    class BaseModel extends Model {
      public function rules() {
            return [
                ['obj', ContentSecurityValidator::class],
            ];
        }
      public function exec() {
            if (!$this->validate()) {
                return [
                    'errors' => $this->errors
                ];
            }
       }
      public function attributeLabels() {
            return [
                'obj' => '标签',
            ];
        }
    }
    
    /**
    * 自定义验证类
    */
    class BaseValidator extends Validator {
    
         /**
         * 必须要实现该方法
         * @param \yii\base\Model $model
         * @param string $attribute 参数名
         * @return bool
         */
        public function validateAttribute($model, $attribute) {
            $attributeValue = $model->$attribute;//获取$model里面的参数的值
            $attributes = $model->attributes;//获取model里面的参数数组
            $attributeLabels = $model->attributeLabels();//获取model里面的已经设置好参数对应标签
            
        }
    }

     

  • 自定义验证方法
    class BaseModel extends Model {
      public function rules() {
            return [
                ['obj', 'validate'],
            ];
        }
      public function exec() {
            if (!$this->validate()) {
                return [
                    'errors' => $this->errors
                ];
            }
       }
      public function attributeLabels() {
            return [
                'obj' => '标签',
            ];
        }
      /**
       * 自定义方法
       */
      public function validate($attribute) {
            $attributeValue = $this->$attribute;//获取$model里面的参数的值
            $attributes = $this->attributes;//获取model里面的参数数组
            $attributeLabels = $this->attributeLabels();//获取model里面的已经设置好参数对应标签
            
        }
    }
    
        

     

 

转载于:https://www.cnblogs.com/fatRabbit-/p/11471032.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值