0
ユニーク制約を構成するエンティティには、fieldA
とfieldB
の2つのフィールドがあり、それぞれデータベースの列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