如果陣列中的一組驗證器失敗,Yii內置驗證將返回無效狀態,例如Yii Validation;將驗證器與「或」邏輯組合
例如,
array(
array('A', 'required'),
array('B', 'required')
)
如果A或B爲空,將返回無效。 (與邏輯)
我想結合這些驗證器,以便它將返回無效只有當所有個別驗證器返回無效(或邏輯)。 上述示例僅在A和B都爲空的情況下才會返回無效。
有沒有一個通用的內置方式來做到這一點?
如果不是我期待有擴展庫來處理類似以下內容:
array(
array('', 'COrValidator',
array('A', 'required'),
array('B', 'required')
)
)
我想說這是另一回合。你是條件*「如果A或B是空的」*已經暗示目前它是驗證器的或組合。如果A或B失敗,驗證失敗。你想要一個AND邏輯。這不是核心內容,所以你的假設是正確的。你必須編寫一個自定義的'AndValidator'。 –
只有當你使用負邏輯。說通過是真的,失敗是錯誤的。對於所需的驗證器,空的是失敗或錯誤情況。如果A爲真且B爲真,則A和B爲真,但如果A爲假或B爲假,則A和B爲假,或者使用所需的驗證器術語A和B在A爲空或B爲空時失敗。所以它看起來像Arth是正確的! – jmarkmurphy
@Michael,我正在查看jmarkmurphy指出的通行條件。由於自定義驗證程序將驗證語句X或語句Y可能爲真的情況,因此我將其稱爲OrValidator。 – Arth