Django Rest Framework(とDjango)では、伝統的にvalidate_<field>
メソッドのフィールドをチェックし、validate
メソッドでよりグローバルなチェックを行います。Django Rest Framework validateメソッドでフィールドエラーを追加しますか?
しかし、このコードスニペットを見て:
ここdef validate(self, data):
# ....
try:
customer.activate(data['signup_code'], data['raw_password'])
except BadCodeProvided:
raise ValidationError(MSG_WRONG_ACTIVATION_CODE)
except SomeOtherException:
raise ValidationError(SOME_OTHER_MESSAGE)
私は私の検証のための2つのフィールド(signup_codeとraw_password)を使用していますので、私はvalidate
メソッドを使用するように強制しています。 しかし、BadCodeProvided Exceptionでエラーが発生した場合、ここで発生した例外のためにsignup_codeフィールドに関連しています(raw_passwordフィールドには関係ありません)。
上記のスニペットコードでは、thiwは "non_field_error"を作成します。 質問:DRFには同じエラーを発生させる方法がありますが、「signup_code」フィールドに関連していますか? (それはvalidate_signup_code
方法で行われるように)。
おかげ