0
我在我的實體上有兩個字段,它們形成一個唯一約束:fieldA
和fieldB
,分別映射到數據庫列field_a
和field_b
。檢查唯一約束違規
我的輸入濾波器需要兩個字段:
public function init()
{
parent::init();
$this->add([
'name' => 'field_a',
'required' => true,
'allow_empty' => false,
]);
$this->add([
'name' => 'field_b',
'required' => true,
'allow_empty' => false,
]);
}
我想弄清楚,以驗證那些2場是在數據庫表中是唯一的最佳方式。如果已經存在具有相同字段值的不同實體,則輸入過濾器將無法通過驗證。
我在想我會覆蓋isValid
函數,並把我的自定義邏輯放在那裏。
我會建議在這兩個字段上使用回調驗證器(Zend \ Validator \ Callback),並將您的自定義邏輯放在回調函數中。 –
@ElenaSlavcheva可以發佈爲答案。 – Wilt