yii自定义验证

Posted fatrabbit-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面的已经设置好参数对应标签
            
        
    
    
        

     

 

以上是关于yii自定义验证的主要内容,如果未能解决你的问题,请参考以下文章

yii 框架 自定义规则客户端验证

Yii2 自定义独立验证器

yii2中的rules自定义验证规则都有哪些

Yii2 - 表单验证规则:如何使用自定义验证功能或替代?

Yii2,自定义验证:clientValidateAttribute() 无法正常工作

如何在 Yii 中为自定义 CActiveRecord 属性设置验证规则?