Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 如何让Django将ValidationError提升为弹出窗口?_Python_Django_Django Views_Django Forms_Django Templates - Fatal编程技术网

Python 如何让Django将ValidationError提升为弹出窗口?

Python 如何让Django将ValidationError提升为弹出窗口?,python,django,django-views,django-forms,django-templates,Python,Django,Django Views,Django Forms,Django Templates,我在我的一个表单上使用自定义的clean()函数来满足条件字段要求。我可以使用{{form.non_field_errors}}在作为DOM一部分的模板上引发验证错误。我希望验证错误像默认错误一样弹出,但不知道如何弹出 以下是自定义的clean()函数: 类报告表单(forms.Form): def清洁(自清洁): cleaned_data=super().clean() class\u type=cleaned\u data.get(“class\u type”) class\u other=

我在我的一个表单上使用自定义的
clean()
函数来满足条件字段要求。我可以使用
{{form.non_field_errors}}
在作为DOM一部分的模板上引发验证错误。我希望验证错误像默认错误一样弹出,但不知道如何弹出

以下是自定义的
clean()
函数:

类报告表单(forms.Form):
def清洁(自清洁):
cleaned_data=super().clean()
class\u type=cleaned\u data.get(“class\u type”)
class\u other=已清理的\u数据.get(“class\u other”)
如果类别类型=“其他”:
如果不是其他类别:
msg=“请填写此字段。”
raise ValidationError(消息)
我不知道在视图或模板中放置什么以使其显示为弹出窗口-我目前没有任何特别的内容。Django是否可能,或者我是否需要使用javascript?

通过“弹出窗口”,您可能指的是警报框。当用户试图提交包含未完成html输入的表单时,浏览器会生成该表单。您可以添加如下所示的必填字段:

class基本表单(forms.Form):
name=forms.CharField(
最大长度=35,
widget=forms.TextInput(
属性={
“id”:“名称”,
“类”:“输入类”,
“占位符”:“插入您的姓名”,
“必选”:“必选”、#{
//我得到输入值
当前名称=输入值;
//检查名称是否超过8个字符
如果(当前名称长度>8){
//我将打开一个警报框
警告(“你的名字太长了!”);
}
});
//这段代码将等待用户
//单击输入按钮,然后将
//清除输入
btn.addEventListener(“单击”,事件=>{
//清除输入值
inp.value=“”;
});

谢谢,我不能/不想将该字段设置为表单中的必填字段,因为它仅在某些情况下是必需的。我最终使用js根据“某些情况”在页面上创建/删除表单字段,并根据需要添加标记。