yii2-ProcessOfModelValidation
2020-12-28 11:41:39   0  举报             
     
         
 yii2 在保存和更新记录时对模型字段的验证
    作者其他创作
 大纲/内容
 $attributes=调用getValidationAttributes(),得到scenario中需要此validator验证的属性
  每个validator来调用
    $this->getValiators()返回rules()中声明的所有验证器
  $this->getActiveValidators()返回当前scenario所需的合法验证器
  $attribute不能skip,就
  简单总结:根据rules()和使用的scenario得到所需的所有validator,每个validator再来验证scenario中对应的属性;
  返回$validators
  $this->activeAttributs
  foreach循环
  有属性值,scenario合法,就将此验证器存入$validators数组中;
  出错,调addError()
  foreach循环$attributes
  返回$this的$_validators属性的值
  $attributeNames: 当前scenario下的属性名
  循环的数组:activeValidators-合法的验证器
  PROCESS OF MODEL VALIDATION
  循环的数组:validators
  $this->validateValue($model->$attribute)$this是validator,例如RequiredValidator;这个validateValue就是真正验证数据的方法;每个验证器都会重载;
  getValidationAttributes($activeAttributes)当前验证器需要验证的属性会存入此验证器的$attributes属性中;需要验证的属性就是指:那些既在当前scenario中,也在rules()对应rule中的属性;
   
 
 
 
 
  0 条评论
 下一页
  
   
  
  
  
  
  
  
  
  
 