php - 如何在 Zend Framework 2 中向表单添加错误消息?

标签 php validation zend-framework2 zend-form validationerror

我有一个复杂的 Zend\Form,其中包含多个嵌套的 Fieldset。现在我需要实现一个交叉Fieldset-validation。这意味着,验证规则引用来自不同 Fieldset 的多个 Element。我发现这样做的唯一方法是在 MyForm#isValid() 中实现此验证,因为它是唯一的地方,我可以从中访问每个 Fieldset

MyForm extends Form
{
    public function isValid()
    {
        $isFormValid = parent::isValid();
        $isCrossFieldsetVaidationOk = // my additional validation logic
        return $isFormValid && $isCrossFieldsetVaidationOk;
    }
}

尚未测试,但它会工作。问题在于添加错误消息。

我试过了

$this->setMessages(array_merge(
    $this->getMessages(), ['my new message'])
);

但它不起作用。

如何添加Form错误信息?

最佳答案

需要为表单元素加入消息。

$form->get('password')->setMessages(['Wrong password']);

关于php - 如何在 Zend Framework 2 中向表单添加错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39121630/

相关文章:

php - 使用数据库中的 ajax 下拉列表更改文本不起作用 Codeigniter

php - 导致对象实例化的 Foreach 循环

javascript - 表单验证字段

asp.net - 如果我的 ASP.NET Web 应用程序不适合运行时?

navigation - ZF2 为导航注册自定义助手

caching - 如何在 ZF2 中处理缓存

php - 确定 SQL UPDATE 是否更改了列的值

javascript - 正则表达式测试返回 false

php - 如何在 ZF2 表单中制作自定义单选按钮标签?

php - php 中的 css 编辑器,类似于 wordpress css 编辑器