zend-framework2 – 选择元素验证
发布时间:2020-12-13 16:19:09 所属栏目:PHP教程 来源:网络整理
导读:我的表单中有一个Select元素,如下所示: $this-add(array( 'name' = 'cat_id','type' = 'ZendFormElementSelect','options' = array( 'label' = 'Categoria','empty_option' = '','value_options' = array( '' = '',),)); value_options在我的控制器中填
我的表单中有一个Select元素,如下所示:
$this->add(array( 'name' => 'cat_id','type' => 'ZendFormElementSelect','options' => array( 'label' => 'Categoria','empty_option' => '','value_options' => array( '' => '',),)); value_options在我的控制器中填充了数据库信息…(有更好的方法吗?) 我有一个InputFilter,就像这样: $this->add(array( 'name' => 'cat_id','required' => true,'validators' => array( array( 'name' => 'NotEmpty','break_chain_on_failure' => true,'options' => array( 'messages' => array('isEmpty' => 'O campo "Categoria" é obrigatório'),)); 请注意,我想更改isEmpty消息……这就是问题所在! 当我提交表单时,我仍然会收到英文相同的消息: cat_id: isEmpty : Value is required and can't be empty 所以我的问题是:为什么我仍然有这个消息?它来自哪里?我该怎么改变它? Ps.:使用Text元素,效果很好.只有选择元素我才会遇到这个问题. 额外的问题: 如果我想使用InArray Validator,如下所示: array( 'name' => 'InArray','options' => array( 'haystack' => array( ... ),'messages' => array( 'notInArray' => 'Valor n?o encontrado no banco de dados' ), 我需要一直填写干草堆fild?有没有办法说验证器使用表格value_options? TNKS! 编辑 我不确定,因为没有人确认过,但我猜ZF2在为其设置类型时对表单元素进行默认验证. 举个例子, $this->add(array( 'name' => 'cat_id','options' => array( 'empty_option' => '','value_options' => array( // ... ),'attributes' => array( // ... ),)); 在这种情况下,ZF2会为Select元素创建一些默认验证,比如检查是否为空并检查haystack. 那么如何覆盖此验证中的消息呢? 解决方法
有一种方法可以解决这个问题.
它应该删除默认验证消息. 只需在表单的构造函数中添加该行即可. $这 – > setUseInputFilterDefaults(假); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |