Django 表单加载后更改字段必需属性
我有一个表单(a),其中一个字段取决于第二个表单(B)的选择值 因此,我需要根据在B表单的选择字段中选择的内容,将该字段设置为必填字段或非必填字段 目前,我在A表单Django 表单加载后更改字段必需属性,django,django-forms,Django,Django Forms,我有一个表单(a),其中一个字段取决于第二个表单(B)的选择值 因此,我需要根据在B表单的选择字段中选择的内容,将该字段设置为必填字段或非必填字段 目前,我在A表单\uuuu init\uuuu方法中将field.required设置为False,我通过覆盖A的clean方法来检查请求中B表单中的数据,并在必要时设置field required,但这一切都是在单击submit按钮后发生的。显然,如果该字段现在设置为必填,并且我更改了B中选择字段的值,我将无法再在A中将字段设置为不必填,因为它不允
\uuuu init\uuuu
方法中将field.required设置为False,我通过覆盖A的clean方法来检查请求中B表单中的数据,并在必要时设置field required,但这一切都是在单击submit按钮后发生的。显然,如果该字段现在设置为必填,并且我更改了B中选择字段的值,我将无法再在A中将字段设置为不必填,因为它不允许我单击提交
有可能让它以某种方式工作吗
我的表格:
class PublicationCreateForm(forms.ModelForm):
class Meta:
model = Publication
fields = ('title', 'event')
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(PublicationCreateForm, self).__init__(*args, **kwargs)
self.fields['event'].required = False
def clean(self):
type = self.request.POST['type']
if type == 'BOOK':
self.fields['event'].required = False
if type == 'CONF':
self.fields['event'].required = True
我将在模板中使用jQuery和以下行之一来处理此问题
$('#Your_Input').removeAttr('required');
$('#Your_Button').removeAttr("disabled")
希望能有所帮助。我认为最好在模板中处理此逻辑,无论您使用jquery进行此操作