0
兩個驗證器都不是真正的驗證器,而是可以更改屬性值。如果這些僞驗證器在模型規則中使用,它們是否對其他真正的驗證器有影響?Yii2:DefaultValueValidator或FilterValidator會影響其他驗證規則嗎?
例如,如果對同一屬性使用缺省值和必需的驗證程序,那麼所需的驗證程序是否永遠不會失敗?
或者這樣的驗證器有沒有優先權?或者驗證規則的順序至關重要?
兩個驗證器都不是真正的驗證器,而是可以更改屬性值。如果這些僞驗證器在模型規則中使用,它們是否對其他真正的驗證器有影響?Yii2:DefaultValueValidator或FilterValidator會影響其他驗證規則嗎?
例如,如果對同一屬性使用缺省值和必需的驗證程序,那麼所需的驗證程序是否永遠不會失敗?
或者這樣的驗證器有沒有優先權?或者驗證規則的順序至關重要?
pseudo
驗證器更改屬性的值。因此,對相同屬性的任何後續驗證器將根據更改的值進行驗證。 訂單是至關重要。驗證器的創建順序爲rules()
,使用\yii\base\Model::createValidators()的順序是它們出現在rules()
。
對於您的具體示例,當required
規則是第一個時,對其進行驗證將返回false
。但是,當default
規則是第一個時,該屬性已具有設定值,因此required
的驗證將返回true
。