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 条评论
下一页