ユーザーがモデルのCharFieldの最大長を超えるテキストを入力したときに表示されるエラーメッセージをカスタマイズしようとしています。Django - CharField TextInputのmax_lengthエラーメッセージを変更する
name = models.CharField(max_length=200)
私は次のようにフォームフィールドを定義し、このモデルのためのModelFormを持っている:次のようにモデルは、フィールドを定義
name = forms.CharField(widget=forms.TextInput(attrs={'class':"span8", 'placeholder':'e.g. How do I setup a wi-fi network? How to sync my iPhone with iCloud?'}),
error_messages={'required': 'Please enter a question.', 'max_length': 'Your question is too long.'})
これは「必要」のエラーメッセージのために正常に動作しますが、 'max_length'エラーメッセージはここでもDjangoのデフォルトメッセージを使用します。何か間違っているのですか、あるいはこのテキストを他の方法でカスタマイズする必要がありますか?
モデルの名前定義の後では機能しましたが、 ModelFormに名前定義の後に置いてみましたが、その時点でname.validatorsは空のリストです。 –
@JamieForrestバリデーターは 'None''max_length'を持たない' form.CharField'にのみ適用されました。ハードコードされた '[-1]'ではなくバリデーターの内部で 'isinstance(validator、MaxLengthValidator)'をチェックすることもできます – okm