【发布时间】:2015-03-19 08:59:00
【问题描述】:
这两个验证器都不是真正的验证器,而是可以更改属性值。如果在模型规则中使用了这样的伪验证器,它们对其他真正的验证器有影响吗?
例如,当默认验证器和必需验证器用于同一属性时,必需验证器永远不会失败吗?
或者这样的验证器是否有任何优先级?还是验证规则的顺序至关重要?
【问题讨论】:
标签: validation yii2
这两个验证器都不是真正的验证器,而是可以更改属性值。如果在模型规则中使用了这样的伪验证器,它们对其他真正的验证器有影响吗?
例如,当默认验证器和必需验证器用于同一属性时,必需验证器永远不会失败吗?
或者这样的验证器是否有任何优先级?还是验证规则的顺序至关重要?
【问题讨论】:
标签: validation yii2
pseudo 验证器会更改属性的值。因此,相同属性上的任何后续验证器都将根据更改的值进行验证。
顺序至关重要。验证器是从rules() 使用\yii\base\Model::createValidators() 按照它们在rules() 中出现的顺序创建的。
对于您的具体示例,当 required 规则首先出现时,对其进行验证将返回 false。然而,当default 规则是第一个时,该属性已经有一个设置值,因此required 的验证将返回true。
【讨论】: