Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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/2/jquery/68.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
Python 如何使用Ajax呈现django crispy表单的验证错误?_Python_Jquery_Json_Django_Ajax - Fatal编程技术网

Python 如何使用Ajax呈现django crispy表单的验证错误?

Python 如何使用Ajax呈现django crispy表单的验证错误?,python,jquery,json,django,ajax,Python,Jquery,Json,Django,Ajax,我想用ajax显示Django默认表单错误。 在这里,如果有一些错误,it代码应该显示django crispy表单的验证错误。 但我不能那样做。 应该向什么添加附言 Views.py if form.is_valid(); ~~~~~~ if self.request.is_ajax(): return JsonResponse({ 'is_valid': True,

我想用ajax显示Django默认表单错误。 在这里,如果有一些错误,it代码应该显示django crispy表单的验证错误。 但我不能那样做。 应该向什么添加附言

Views.py

    if form.is_valid();  
        ~~~~~~
        if self.request.is_ajax():
            return JsonResponse({
                'is_valid': True,
                'redirect':reverse(/.../),
            })
        return redirect(hogehoge)
    else:
        if self.request.is_ajax():
            return JsonResponse({
                'is_valid': False,
                'error':form.errors,
            })
Javascript

<script>
$(function() {
  $(document).on('click', '.submit_button', function (e) {
    var $form = $('.form'); 
    var form = $form[0];
    e.preventDefault();
    $.ajax({
        processData: false,
        contentType: false,
        dataType: 'json',
        url: $form.attr('action'),
        type: $form.attr('method'),
        data: new FormData(form),
        }).done(function(data,textStatus) {
          if (data.is_valid) {
            window.location.href = data.redirect;
            }
            else {
             *Display Django default validation errors if there are error forms.*
            }
      });
    });
  });
</script>

$(函数(){
$(文档)。在('单击','上。提交按钮',函数(e){
变量$form=$('.form');
var form=$form[0];
e、 预防默认值();
$.ajax({
processData:false,
contentType:false,
数据类型:“json”,
url:$form.attr('action'),
类型:$form.attr('method'),
数据:新表单数据(表单),
}).done(功能(数据、文本状态){
if(数据是否有效){
window.location.href=data.redirect;
}
否则{
*如果存在错误表单,则显示Django默认验证错误*
}
});
});
});
*格式HTML

<form class="form" action="" method="post" enctype="multipart/form-data">
<div class="input">
  {% if field.errors %}
  {% render_field field class+="form-handles is-invalid" %}
  {% for error in field.errors %}
  <div class="invalid-render">
    {{ error|escape }}
  </div>
  {% endfor %}
  {% else %}
  {% render_field field class+="form-handles" %}
  {% endif %}
</div>
  <div class="text-center">
    <button type="submit" class="submit_button">submit</button>
  </div>

</form>

{%if field.errors%}
{%render_field class+=“表单句柄无效”%}
{%字段中有错误。错误%}
{{error | escape}
{%endfor%}
{%else%}
{%render_field class+=“表单句柄”%}
{%endif%}
提交

您可以从官方文档中找到有关的信息。它将包含表单、输入值和表单错误。

您可以从官方文档中找到有关的信息。它将包含表单、输入值和表单错误。

您需要在哪里显示错误?您还可以发布您在ajax成功中获得的输出,即:
数据
?@Swati现在,我编辑问题列表。你能看添加的内容吗?对JSON响应没有问题。您能否在上面的问题中添加您在
数据中获得的确切op,以便我为您制作演示代码?您需要在哪里显示错误?您还可以发布您在ajax成功中获得的输出,即:
数据
?@Swati现在,我编辑问题列表。你能看添加的内容吗?对JSON响应没有问题。您能否在上面的问题中添加您在
数据中获得的确切op,以便我为您制作演示代码?非常感谢!多亏了这个文档,这件事发生得很顺利。@HASE96这个答案对你有用吗,还是你用另一种方式做的?请接受或提供一个答案,为其他开发者,将有这个问题在未来。非常感谢!多亏了这个文档,这件事发生得很顺利。@HASE96这个答案对你有用吗,还是你用另一种方式做的?请接受或提供一个答案,为其他开发者,将有这个问题在未来。