2015-03-19 31 views
0

兩個驗證器都不是真正的驗證器,而是可以更改屬性值。如果這些僞驗證器在模型規則中使用,它們是否對其他真正的驗證器有影響?Yii2:DefaultValueValidator或FilterValidator會影響其他驗證規則嗎?

例如,如果對同一屬性使用缺省值和必需的驗證程序,那麼所需的驗證程序是否永遠不會失敗?

或者這樣的驗證器有沒有優先權?或者驗證規則的順序至關重要?

回答

0

pseudo驗證器更改屬性的值。因此,對相同屬性的任何後續驗證器將根據更改的值進行驗證。 訂單至關重要。驗證器的創建順序爲rules(),使用\yii\base\Model::createValidators()的順序是它們出現在rules()

對於您的具體示例,當required規則是第一個時,對其進行驗證將返回false。但是,當default規則是第一個時,該屬性已具有設定值,因此required的驗證將返回true

相關問題