我查看了Zendcast here。它解释了如何很好地利用Ajax验证。
它按预期返回错误,但是当验证没有返回错误时,我想返回一个勾号或一些正指示符。但是,响应仅返回zend表单错误:
$f = new Form_Test();
$f->isValid($this->_getAllParams());
$this->_helper->json($f->getMessages());
如何在数组中返回正消息?
答案 0 :(得分:1)
如果没有选择字段nd,如果没有检查就好了,可能更容易检查JS吗?
您也可以尝试使用$f->getErrors()
,因为它会返回包含所有元素及其错误的数组(如果所选元素没有错误,则返回空数组)。但这只会返回短消息版本,而不是完整描述,因此您必须手动将其翻译为完整消息。
您还可以使用简单的foreach循环创建自己的数组:
$errors = array();
foreach($f->getElements() as $e){
$errors[$e->getName()] = $e->getMessages();
}