在 ZF1 中,可以使用以下代码将表单标记为无效:
$form->fieldname->addError('error message');
我如何在 ZF2 中做到这一点?我试过了
$form->get('elementName')->setMessages(array('error message'));
但它不会使表格无效。
在 ZF1 中,可以使用以下代码将表单标记为无效:
$form->fieldname->addError('error message');
我如何在 ZF2 中做到这一点?我试过了
$form->get('elementName')->setMessages(array('error message'));
但它不会使表格无效。
我想知道同样的问题,我不知道如何使用默认的 Zend 2 表单来轻松完成。
我不知道为什么有必要隐藏手动表单状态操作并破坏明显的 addError 功能。
但可能适合您使用这样的代理方式:
创建自己的表单基础类(以后可能会写得更好):
class BasicForm extends Form
{
protected _isValid = null;
public function isValid()
{
return isset($this->_isValid) ? $this->_isValid : parent::isValid();
}
public function setValid($value)
{
$this->_isValid = isset($value) ? (bool)$value : null;
return $this;
}
}
从这个自定义表单类而不是默认的 Zend Form 类实例化您的真实表单:
class SomeYourForm extends BasicForm
...
因此,您将能够通过覆盖此属性将此表单的有效状态设置为 true 或 false。
可能对某人也有帮助。