Jer*_*cks 5 forms zend-framework
我正在尝试使用ViewScript在表单之前显示所有表单错误.以下是我目前在ViewScript中尝试使用的代码:
<div class="errors">
<?php echo $this->formErrors($this->element->getMessages()); ?>
</div>
Run Code Online (Sandbox Code Playgroud)
这个电话给我一个错误信息:
警告:htmlspecialchars()期望参数1为字符串,给定数组
我已经看到这个相同的代码建议其他地方,但它不适合我.如果我打印出$ this-> element-> getMessages(),我确实看到如下错误消息:
数组([myField] =>数组([isEmpty] =>值是必需的,不能为空))
有任何想法吗?
getMessages()返回一个表单元素名称数组作为键,每个键都包含该元素的错误数组.所以基本上不是处理formErrors视图助手:
Array ( [isEmpty] => Value is required and can't be empty )
Run Code Online (Sandbox Code Playgroud)
你正在处理它:
Array ( [myField] => Array ( [isEmpty] => Value is required and can't be empty ) )
Run Code Online (Sandbox Code Playgroud)
你可能想做这样的事情:
$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)
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9323 次 |
| 最近记录: |