フォームの次の部分を検討してください
$name = new Zend_Form_Element_Text('name');
$name->setLabel('name: ')
->setRequired(true)
->addValidator($empty)
->addValidator($alpha)
->setDecorators($newdecorators);
$this->addElement($name);
$empty と $alpha を次のように定義しました。
$empty = new Zend_Validate_NotEmpty();
$empty->setMessage('some text', Zend_Validate_NotEmpty::IS_EMPTY);
$alpha = new Zend_Validate_Alpha();
$alpha->setMessage('some text',Zend_Validate_Alpha::NOT_ALPHA);
今私の質問:
このコードでは、入力が空のときに二重検証メッセージが表示されます。最初にカスタム メッセージ、次に: '' は空の文字列です setRequired を削除すると、空のバリデータは実行されません。どうしてこれなの?setRequired に errorMessage を追加すると $alpha エラー メッセージが上書きされるため、setRequired は使用したくありません。
thx、J