小编Cri*_*isp的帖子

在不丢失元素的默认输入过滤规范的情况下,不需要zend2设置字段

使用ZF2,我编写了一个自定义表单元素并将其包含在一堆表单中.问题是,如果我指定我不想要表单元素,我会丢失元素上的默认验证器.

class MyForm extends Zend\Form\Form implements Zend\InputFilter\InputFilterProviderInterface
{
    public function __construct()
    {
        parent::__construct("my-form");
        $this
        ->add(array(
            'type' => 'Me\Custom\EmailList',
            'name' => 'emails',
            'options' => array(
                'label' => _t('Email List'),
            ),
        ));
    }

    public function getInputFilterSpecification()
    {
        return array(
            'emails' => array(
                'required' => false,
             ),
        ));
    }
}
Run Code Online (Sandbox Code Playgroud)

"EmailList"元素是一个简单的文本字段,它接受以逗号分隔的电子邮件地址列表.

class EmailList extends \Zend\Form\Element\Email
{
    protected $attributes = array(
        'type' => 'email',
        'multiple' => true,
    );
    public function getInputSpecification()
    {
        $this->getEmailValidator()
            ->setMessage('"%value%" is not a valid email address');

        $validator = $this->getValidator();
        if …
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-framework2

7
推荐指数
1
解决办法
650
查看次数

标签 统计

php ×1

zend-framework ×1

zend-framework2 ×1