在表单中的特定字段上引发 Django 中的错误

Posted

技术标签:

【中文标题】在表单中的特定字段上引发 Django 中的错误【英文标题】:Raise an error in Django on specific field in form 【发布时间】:2022-01-22 06:12:39 【问题描述】:

在我的 Django/Python 应用程序中,我有必要或不需要的字段,具体取决于在之前的字段中选择的内容。这就是为什么默认情况下这些不是强制性的。我想运行一个脚本,该脚本会根据选择在所选字段上引发错误。我想通过脚本按下“提交”按钮时这样做。

我的html代码:

% extends "blog/base.html" %
% load crispy_forms_tags %
% block content %
    <div class="content-section">

        <form method="POST" id="PostForm" data-sektor-url="% url 'ajax_load_sektors' %" novalidate enctype="multipart/form-data">
            % csrf_token %
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Report</legend>
                 form|crispy 
            </fieldset>
            <div class="form-group">
                <button class="btn btn-outline-info" id="submit" type="submit">Submit</button>
            </div>
        </form>
    </div>

    <script>
            $("#submit").click(function () 

                if (document.getElementById('id_res_person_1').value == '') 
                      HERE I WOULD RAISE AN ERROR ON THAT FIELD
                    
                            );
    </script>

【问题讨论】:

能解释一下你想要什么吗? 【参考方案1】:

你需要在提交表单时调用一个函数,进行验证,如果一切正常则提交给视图

这是一个例子:

JS

function validate(url) 
  // do your validation 
  if(allIsOk)
    // get the form
     my_form.submit();
   
  

提交或链接时

 <fom onsubmit="validate()">

【讨论】:

以上是关于在表单中的特定字段上引发 Django 中的错误的主要内容,如果未能解决你的问题,请参考以下文章

设置空白和空值时,django 表单字段会引发错误

Django:模板中的 Crispy 表单验证错误

urls.py 中的 Django 时区逻辑和通用视图引发错误,但它是视图、字段还是我?

Django 表单字段验证 - 如何判断操作是插入还是更新?

Django - 如何排除表单字段视图?

带有初始数据的 Django 禁用字段引发验证错误 [重复]