Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中处理symfony2表单验证结果_Jquery_Symfony - Fatal编程技术网

在jquery中处理symfony2表单验证结果

在jquery中处理symfony2表单验证结果,jquery,symfony,Jquery,Symfony,我想做的是通过jQueryAjax将表单发送到我的Symfony2WebApp。服务器上发生的情况是,要么服务器以验证错误或成功消息响应表单 如何在jquery中处理这两个不同的结果?您应该让您的控制器返回一个JSON数组(使用空模板仅打印JSON和JSON\u encode以生成正确的JSON)。jQueryLoad函数将回调函数作为处理AJAX响应的第三个参数(当然,一旦完成)。使用从服务器返回的JSON,您可以轻松地执行任何需要的操作—显示ok消息或任何验证错误 我现在的问题是isVali

我想做的是通过jQueryAjax将表单发送到我的Symfony2WebApp。服务器上发生的情况是,要么服务器以验证错误或成功消息响应表单


如何在jquery中处理这两个不同的结果?

您应该让您的控制器返回一个JSON数组(使用空模板仅打印JSON和
JSON\u encode
以生成正确的JSON)。jQueryLoad函数将回调函数作为处理AJAX响应的第三个参数(当然,一旦完成)。使用从服务器返回的JSON,您可以轻松地执行任何需要的操作—显示ok消息或任何验证错误

我现在的问题是isValid为false,因为字符串字段不是 足够长,但是hasError返回false,getErrors返回 数组()。原因可能是什么

在每个表单字段中添加错误\u冒泡,如下示例:

...

$builder->add('name', 'type', array(
    ...
    'error_bubbling' => true
));

您是否尝试过将ajax调用请求设置为JSON内容类型?允许您的控制器根据请求格式做出相应的响应可能是个好主意,也可能是因为它是否是XHR(ajax)。如果您希望使用ajax处理表单,这似乎是最好的方法。毕竟,这就是AJAX的用途——您不必重新加载页面;)当然,如果您想返回整个表单,您也可以这样做。只需在包含表单的
div
上调用jQuery
.load()
,并在控制器中显示整个表单(仅显示没有任何布局的表单),这也会起作用。谢谢,现在我尝试执行以下操作: