フォームのエラーをチェックするこのコードがあります。ユーザーがミスをすると、最初に見つかったエラーが表示されます。ただし、間違いが複数のエラーに属する場合は、最初のエラーのみが表示されます。
#forms.py
def clean_file_name(self):
name = self.cleaned_data['file_name']
if len(name) < 2:
raise forms.ValidationError('File name is too short')
if FileDescription.objects.filter(file_name = name).exists():
raise forms.ValidationError('File with this name already exists')
else:
return name
#template
<ul>
{% for field in form %}
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
{% endfor %}
</ul>
ユーザーが「a」を入力し、この名前のファイルがデータベースにすでに存在する場合(長さチェックを作成する前に存在していたとしましょう)、出力は次のようになります。
「ファイル名が短すぎます」
しかし、両方のエラーを表示したい