複数のフィールドに依存するフォームの検証チェックがありますが、フォームの上部に表示されるエラーメッセージだけではなく、 (フォームには多くのフィールドがあるので、エラーがどこにあるかを明確に示すことができます)。django形式 - clean()からの特定のフィールド検証エラーを発生させる
回避策として、関連する各フィールドclean_field()
のメソッドで同じ検証を作成しようとしましたので、ユーザーはこれらのフィールドの隣にエラーが表示されます。しかし、私はself.cleaned_data
からその特定のフィールドにアクセスすることができるように見えますが、他にはありませんか?
また、フォームclean()
からフィールドエラーを発生させることはできますか?
試み1:あなたは複数のフィールドのための洗浄のデータにアクセスしたい場合は
def clean_supply_months(self):
if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_months'):
raise forms.ValidationError('Please specify time at address if less than 3 years.')
def clean_supply_years(self):
if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_years'):
raise forms.ValidationError('Please specify time at address if less than 3 years.')
def clean_same_address(self):
.....
完璧なおかげで! – Yunti