:ジャンゴ - 私はきれいなフォーム(フィールド・エラーを設定しようとしている)と私は現在やっている(クリーンを形成する)とフィールドエラー
self._errors['address'] = self._errors.get('address', ErrorList())
self._errors['address'].append(_(u'Please specify an address.'))
は、より良い、可能であれば短い方法がありますこれをする?
:ジャンゴ - 私はきれいなフォーム(フィールド・エラーを設定しようとしている)と私は現在やっている(クリーンを形成する)とフィールドエラー
self._errors['address'] = self._errors.get('address', ErrorList())
self._errors['address'].append(_(u'Please specify an address.'))
は、より良い、可能であれば短い方法がありますこれをする?
raise ValidationError(message)
です。clean_<fieldname>()
メソッドclean_address
に移動します。そのようなメソッドで呼び出されたValidationError
は、特定のフィールドにエラーメッセージを添付します。 clean()
から提起されたものは、一般的にモデルに起因する。となるものではありません - 私はかなり新しいですDjangoとPythonに一般的に使用されていましたが、フィールド固有のエラーのチェック/作成/追加のためのより良い/短期の方法があるかどうかは疑問でした。 – RS7
アイテム#3が追加されました。必要なものが記述されている可能性があります。 djangoの内部で 'clean_fields'を実装しました –
あなたの提案#3を拡張できますか?それは私にとってはうまくいかない。 [ValidationError'クラス](https://code.djangoproject.com/browser/django/trunk/django/core/exceptions.py#L41)はそのようなエラーの辞書を受け入れていますが、['Forms ._clean_form'](https://code.djangoproject.com/browser/django/trunk/django/forms/forms.py#L297)は実際にそれを利用していません。 –
おそらくこれが役立ちます。その一般的にはあなたがきれいにオーバーライドして、関数内で次のようにすることができます。
フォーム固有のエラーを発生させたい場合は可能です。
self._errors["field"] = ErrorList([u"Error"])
これはあなたができる単純な昇給のような検証エラーがそう
raise forms.ValidationError(_("Error"))
・ホープ、このことができます以外のフィールドエラーを持っている場合は、エラークラス
を得ることを確認しています。
Django 1.7の新機能はForm.add_error(field, message)
です。
https://docs.djangoproject.com/en/dev/ref/forms/validation/#form-field-default-cleaning
使用self.errors代わりに、それは_ERRORSを返し、私は現在、複数のフィールドに関連する特定の物事を検証するため ')('クリーン使用していますプライベート – radtek