zend-framework - 在 ViewScript 中显示 Zend_Form 表单错误

标签 zend-framework forms

我正在尝试使用 ViewScript 在表单之前显示所有表单错误。这是我目前尝试在我的 ViewScript 中使用的代码:

<div class="errors">
<?php echo $this->formErrors($this->element->getMessages()); ?>
</div>

此调用给了我一条错误消息:

Warning: htmlspecialchars() expects parameter 1 to be string, array given



我已经看到同样的代码建议其他地方,但它对我不起作用。如果我打印出 $this->element->getMessages() 我确实会看到如下错误消息:

Array ( [myField] => Array ( [isEmpty] => Value is required and can't be empty ) )



有任何想法吗?

最佳答案

getMessages() 返回一个表单元素名称数组作为键,每个键都包含该元素的错误数组。所以基本上不是处理 formErrors View 助手:

Array ( [isEmpty] => Value is required and can't be empty )

你递给它:
Array ( [myField] => Array ( [isEmpty] => Value is required and can't be empty ) )

你会想要做这样的事情:
$arrMessages = $this->myForm->getMessages();
foreach($arrMessages as $field => $arrErrors) {
    echo sprintf(
        '<ul><li>%s</li>%s</ul>',
        $this->myForm->getElement($field)->getLabel(),
        $this->formErrors($arrErrors)

    );
}

关于zend-framework - 在 ViewScript 中显示 Zend_Form 表单错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454401/

相关文章:

apache - SetEnv APPLICATION_ENV 开发 - .htaccess 与 Zend 框架交互?

java - 如何从 Java 连接到 SOAP 服务器并运行我的服务器内置方法/服务?

Angular 表单验证如何在提交时显示错误消息

html - CSS 将图像与输入对齐

jquery - Powershell 调用-WebRequest ...|选择 -ExpandProperty 输入字段(并非所有 "inputfields"都显示)

PHP:选择更改时,将表单发布给自己

php - 为什么 Zend_Http_Response 将状态码除以 100

php - Web 2.0 PHP 应用程序的帮助

php - 在 zend 框架中设置 cookie

java - 使用计时器自动提交测试页面中的单选按钮