创建表单时,表单验证很容易。但是,如何验证提交的数据并将错误消息传回给表单。如何将错误消息从Controller Action传递给表单提交。
例如我有一个表单用于更改密码,所以我需要验证旧密码并检查新密码和确认密码是否相同,并且在失败阶段,在密码编辑表单上显示消息。
创建表单时,表单验证很容易。但是,如何验证提交的数据并将错误消息传回给表单。如何将错误消息从Controller Action传递给表单提交。
例如我有一个表单用于更改密码,所以我需要验证旧密码并检查新密码和确认密码是否相同,并且在失败阶段,在密码编辑表单上显示消息。
你是说在你的视图脚本?
<?php if ($form->getMessages()){
// alert
?>
<div class="alert alert-error">
<button class="close" data-dismiss="alert" type="button">×</button>
<strong><?php echo $this->translate("Are you awake ?"); ?></strong>
<?php echo $this->translate("Some data are not filled out correctly."); ?>
</div>
<?php
}?>
后刚刚从$形式 - >的getMessages()
打印错误如果设置正确,形式会为你做这个。该表单将运行验证检查,然后您可以使用formElementErrors视图助手来分析错误。 你可以粘贴一些如何设置你的表单的代码?
在表格视图显示验证错误的一个例子:
<?php $form->prepare() ?>
<?php echo $this->form()->openTag($form); ?>
<?php foreach($form->getElements() as $element): ?>
<div class="control-group">
<?php /* @var $element \Zend\From\Element */ ?>
<?php if($element->getLabel()): ?>
<?php echo $this->formLabel($element) ?>
<?php endif ?>
<?php // Show any validation errors for this element ?>
<?php echo $this->formElementErrors($element); ?>
<?php echo $this->formElement($element) ?>
</div>
<?php endforeach ?>
<?php echo $this->form()->closeTag() ?>