ユーザー登録ページを設定し、ユーザー名フィールドを検証しています。このフィールドでは、最初にユーザーがまだ存在しないかどうか、次にユーザー名が予約済みでないかどうかを確認します。私の問題は、2つのバリデーターをフォーム要素にアタッチすると、2番目のバリデーターが無視されることです。2番目の検証は、最初の検証が削除された場合にのみ機能します。これはバグですか?もしそうなら、どうすればそれを修正できますか?
バリデーターは次のとおりです。
$validator = new Zend_Validate_Db_NoRecordExists(
array(
'table' => 'users',
'field' => 'username'
)
);
$validator->setMessage('Username %value% already exists', Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND);
$reserved_validator = new Zend_Validate_Db_NoRecordExists(
array(
'table' => 'reserved_users',
'field' => 'name'
)
);
$reserved_validator->setMessage('Username %value% is not available', Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND);
次に、私が持っている要素について:
->addValidator($validator)
->addValidator($reserved_validator)