8

以下は、Zend_Form で Yes/No オプション付きのラジオ ボタン要素を作成するサンプル コードです。必要な回答を [はい] に設定する方法についてのアイデアはありますか? [いいえ] を選択すると、検証に失敗しますか? 以下のコードは、Yes または No のいずれかを受け入れます。

    $question= new Zend_Form_Element_Radio('question');
    $question->setRequired(true)
        ->setLabel('Are you sure?')
        ->setMultiOptions(array('Yes', 'No'));
4

2 に答える 2

6

これが最善の方法かどうかはわかりませんが、私にとってはうまくいきました:

$questionValid = new Zend_Validate_InArray(array('Yes'));
$questionValid->setMessage('Yes is required!');

$question = new Zend_Form_Element_Radio('question');
$question->setRequired(true)
    ->setLabel('Are you sure?')
    ->setMultiOptions(array('Yes'=>'Yes', 'No'=>'No'))
    ->addValidator($questionValid);
于 2009-01-16T22:23:16.857 に答える
0

より迅速な方法ですが、これは他の状況では機能しません。

$question = new Zend_Form_Element_Radio('question');
$question->setRequired(true)
    ->setLabel('Are you sure?')
    ->setMultiOptions(array('Yes'=>'Yes', 'No'=>'No'))
    ->addValidator('StringLength', false, array('min' => 3, 'messages' => "You must be sure."));

「いいえ」は 3 文字未満なので、「はい」を選択しないと失敗します。少し「ハッキー」ですが、使用するコードが少なく、組み込みのバリデーターも利用できるため、この方法が気に入っています。

于 2013-02-27T18:59:25.470 に答える