我需要在View
中显示错误消息这是我的代码:
这是我的表单代码:
public function initialize() {
$name = new Text('name', array(
'class' => 'form-control',
"placeholder" => "Type your name"
));
$name->addValidators(array(
new PresenceOf(array(
'message' => 'Please enter your username.',
)),
));
$this->add($name);
}
这是我的HTML代码:
<form method="post" action="user">
<p>
<label>
Name
</label>
<?php echo $userForm->render("name"); ?>
</p>
<p>
<input type="submit" value="Save" />
</p>
</form>
这是我的控制器文件代码:
public function indexAction()
{
$userform = new UserForm();
$this->view->userForm = $userform;
if($this->request->isPost()) {
if($userform->isValid($_POST)) {
}
}
}
非常感谢任何帮助。 提前谢谢。
答案 0 :(得分:0)
引用文档。
默认情况下,表单中所有元素生成的消息都是 加入所以他们可以使用一个foreach遍历,你可以改变 此行为是为了获取由字段分隔的消息:
foreach ($userform->getMessages(false) as $attribute => $messages) {
echo "Messages generated by ", $attribute, ":", "\n";
foreach ($messages as $message) {
echo $message, "<br>";
}
}
或获取元素的特定消息:
$messages = $userform->getMessagesFor("name");
foreach ($messages as $message) {
echo $message, "<br>";
}
the Docs 中的更多信息。