English 中文(简体)
Zend_Form 单选框元素
原标题:
  • 时间:2009-01-16 22:08:18
  •  标签:

以下是使用Zend_Form创建带有是/否选项的单选按钮元素的示例代码。有没有任何想法如何将所需答案设置为“是”,因此如果选择“否”,它将无法通过验证?下面的代码将接受“是”或“否”。

    $question= new Zend_Form_Element_Radio( question );
    $question->setRequired(true)
        ->setLabel( Are you sure? )
        ->setMultiOptions(array( Yes ,  No ));
最佳回答

不确定这是最好的方法,但它对我有效:

$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);
问题回答

尽管这种方法适用于其他情况,但更快的方法是:

$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."));

由于“no”少于3个字符,除非选择“yes”,否则将失败。 这有点“hacky”,但我喜欢这种方式,因为它使用了更少的代码,并且还利用了内置的验证器。





相关问题
热门标签