0

Djangoフォームでレンダリングするテキストフィールドがあります。このテキスト フィールドには、IP アドレス、URL、通常のテキストなど、さまざまな種類のデータを含めることができます。フォームの前のドロップダウンの入力に応じて、テキスト フィールドを条件付きで検証するにはどうすればよいですか?

たとえば、ドロップダウンで IP アドレスを選択した場合、IP アドレスがテキスト フィールドに入力されたとき以外に、入力時に条件付きで検証エラーをスローするにはどうすればよいですか?

4

1 に答える 1

0

ありがとう @karthikr:

from django import forms

class ContactForm(forms.Form):
    # Everything as before.
    ...

    def clean(self):
        cleaned_data = super(ContactForm, self).clean()
        cc_myself = cleaned_data.get("cc_myself")
        subject = cleaned_data.get("subject")

        if cc_myself and subject:
            # Only do something if both fields are valid so far.
            if "help" not in subject:
                raise forms.ValidationError("Did not send for 'help' in "
                        "the subject despite CC'ing yourself.")

        # Always return the full collection of cleaned data.
        return cleaned_data

それはすべてここで説明されています:

https://docs.djangoproject.com/en/dev/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other

于 2013-07-16T23:53:47.507 に答える