4

我对 zf2 注释有点困惑,我根据本教程创建了一些元素:

/**
 * @Annotation\Attributes({"type":"text" })
 * @Annotation\Required(false)
 * @Annotation\Options({"label":"Cardholder's Name: *:"})
 */
protected $cardholder;

对于简单的文本,一切正常,但在尝试创建选择元素时我被卡住了。

如果您知道任何教程或 github repo,请告诉我。

4

3 回答 3

8

问题已经出现,因此要获得选择,您需要
添加验证和过滤示例

/**
* @Annotation\Attributes({"type":"text" })
* @Annotation\Options({"label":"Cardholder's Name: *:"})
* @Annotation\Required(false)
* @Annotation\Filters({"name":"StripTags"},{"name":"StringTrim"}}) 
* @Annotation\Validator({"name":"StringLength","options":{"min":"1", "max":"20"}})
*/

protected $cardholder;

/**
 * @Annotation\Type("Zend\Form\Element\Select")
 * @Annotation\Options({"label":"Description"})
 * @Annotation\Attributes({"options":{"1":"Visa","2":"Maestro"}})
 */
protected $cardType;

并且在视野中

<dt><?php echo $this->formLabel($form->get('cardholder')); ?></dt>
<dd><?php 
echo $this->formInput($form->get('cardholder'));
echo $this->formElementErrors($form->get('cardholder'));
?></dd>

<dt><?php echo $this->formLabel($form->get('cardType')); ?></dt>
<dd><?php 
echo $this->formSelect($form->get('cardType'));
echo $this->formElementErrors($form->get('cardType'));
?></dd>
于 2012-07-16T17:19:55.380 回答
2

尝试这个:

/**
 * @Annotation\Type("Zend\Form\Element\Select")
 * @Annotation\Required(false)
 * @Annotation\Options({"label":"Cardholder's Name: *:", "value_options":{"1":"VISA", "2":"MASTER CARD", "3":"AMERICAN EXPRESS"}})
 */
protected $cardholder;
于 2014-05-19T23:05:04.927 回答
0

尝试这个

 /**
     * @Annotation\Type("Zend\Form\Element\Select")
     * @Annotation\Required({"required":"false" })
     * @Annotation\Filter({"name":"StringTrim"})
     * 
     *
     */
于 2013-11-21T16:35:11.607 回答