CakePHP 2.2.1 - 在表单上显示 CakePHP 错误 - 自定义验证
Posted
技术标签:
【中文标题】CakePHP 2.2.1 - 在表单上显示 CakePHP 错误 - 自定义验证【英文标题】:CakePHP 2.2.1 - Showing CakePHP error on form - custom validation 【发布时间】:2012-08-22 22:08:25 【问题描述】:手动验证表单时出现一系列错误:
$this->CalculationElement->set($this->request->data);
if($this->CalculationElement->validates())
WHEN OK...
else
debug($this->CalculationElement->invalidFields());
die;
所以,使用 ->invalidFields() 我会得到一系列错误...如何在输入的底部显示它们,就像 Cakephp 在 $this->Model->save(); 上所做的那样?
我可以 $this->Model->set() 它们,但这又是 VIEW 中的一系列错误。
【问题讨论】:
如果您使用 FormHelper,它应该已经可以工作了 您不应该将 invalidFields() 与 validates() 或 save() 结合使用 - 否则您会验证两次,这可能会搞砸一切。使用$this->CalculationElement->validationErrors
(不是方法)来获取错误信息。
【参考方案1】:
试试这个代码:
if ($this->CalculationElement->validates())
//WHEN OK...
else
$this->validateErrors($this->CalculationElement);
$this->render();
【讨论】:
【参考方案2】:在您的情况下,您似乎必须在视图中手动添加所有类和消息。
输入本身得到类“form-error” 在输入之后,您必须创建一个带有“错误消息”类的 div
<div class="error-message">$_your_error_message_from_the_array</div>
我认为这应该可以解决问题。
【讨论】:
以上是关于CakePHP 2.2.1 - 在表单上显示 CakePHP 错误 - 自定义验证的主要内容,如果未能解决你的问题,请参考以下文章