表格.py
class PhoneinfoForm(forms.ModelForm):
pname = forms.CharField(required=True)
pnumber = forms.IntegerField(required=True)
gname = forms.CharField(required=False)
gnumber = forms.IntegerField(required=False)
class Meta:
model = Phone_info
fields = ['pname','pnumber','gname','gnumber']
def clean(self):
cleaned_data = self.cleaned_data
pname = cleaned_data.get("pname")
pnumber = cleaned_data.get("pnumber")
gname = cleaned_data.get("gname")
gnumber = cleaned_data.get("gnumber")
if 'pname' and 'pnumber' not in cleaned_data:
raise forms.ValidationError
if 'gname' and 'gnumber' not in cleaned_data:
raise forms.ValidationError
return cleaned_data
我正在尝试验证姓名和号码。就我而言,pname
并且pnumber
是一组必填字段,我实现了我的付出required=True
。
第二件事是gname
并且gnumber
不是强制性的,但是如果gnumber
输入,那么它gname
不应该发生(如果在 gname 中没有输入任何内容,则它正在接受)。如果输入数字,它不应该接受没有名称,反之亦然。
我的代码不适用于第二选择,如何验证这一点。
谢谢