如何将Form Field设置为无效?
示例:
$form->getElement('name')->set.... Validator to FALSE
或类似的东西???
部分代码:
if(....){
$form->getSubForm('sub_form_name')->getElement('element_name')->addError('some error message');
}
if($form->isValid($this->getRequest()->getPost())) {
//Form is going to be valid and execute this statment
}
我也尝试使用:markAsError()和hasError();但没有工作:(
答案 0 :(得分:2)
如果在元素上使用任何addError ...()或setError ...(),则应将验证标志设置为无效,或者文档说明
Zend_Form_Element.addError(字符串$ message)
添加错误消息并将元素标记为验证失败
答案 1 :(得分:1)
愚蠢的POGramation。 :) 不是最好的方法,但工作正常。
$vazio = false;
if(is_array($nomes)){
$vazio = true;
$form->addError("NomeIsArray");
}
if(!$vazio && $form->isValid($post)){
}