Pi *_* Wi 6 javascript forms ajax jquery symfony
在某些页面上,我使用bootstrap模式中的表单.我使用Ajax提交表单,并在控制器中进行验证.大多数用户将正确填写表单,但如果验证失败,表单将重新呈现并发送回用户.我根本不喜欢这个,但我找不到更好的方法,因为我无法访问字段的验证错误.有人有更好的方法来实现以JSON发回的验证错误吗?
如果我理解正确的话,你有一个表格,你需要分别获取每个字段的错误。如果是这样,请查看 \Symfony\Component\Form\Form::getErrorsAsString() 并执行此类操作:
function getFormErrors($form)
{
$errors = array();
// get the form errors
foreach($form->getErrors() as $err)
{
// check if form is a root
if($form->isRoot())
$errors['__GLOBAL__'][] = $err->getMessage();
else
$errors[] = $err->getMessage();
}
// check if form has any children
if($form->count() > 0)
{
// get errors from form child
foreach ($form->getIterator() as $key => $child)
{
if($child_err = getFormErrors($child))
$errors[$key] = $child_err;
}
}
return $errors;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7405 次 |
| 最近记录: |