我对zf2注释感到有些困惑,我根据this tutorial创建了一些元素:
/**
* @Annotation\Attributes({"type":"text" })
* @Annotation\Required(false)
* @Annotation\Options({"label":"Cardholder's Name: *:"})
*/
protected $cardholder;
对于简单的文本,一切正常,但在尝试创建选择元素时我陷入困境。
如果你知道任何教程或github回购,请告诉我。
答案 0 :(得分: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>
答案 1 :(得分: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;
答案 2 :(得分:0)
试试这个
/**
* @Annotation\Type("Zend\Form\Element\Select")
* @Annotation\Required({"required":"false" })
* @Annotation\Filter({"name":"StringTrim"})
*
*
*/