PythonのDjangoフレームワークでは、データの検証を行うためにValidationError
という例外が提供されています。この記事では、その使用方法と実装例について解説します。
DjangoのValidationErrorとは?
DjangoのValidationError
は、フォームやモデルでバリデーションチェックを行う際に使用されます。具体的には、フォームに入力された値が意図したとおりになっているかを検証し、意図しない値が入力された場合にエラーを発生させることができます。
ValidationErrorの使用方法
ValidationError
を使用するには、まずdjango.core.exceptions
からインポートします。そして、バリデーションチェックを行いたい箇所でValidationError
を投げるように記述します。
from django.core.exceptions import ValidationError
def validate_input(value):
if not is_valid(value): # is_validは適切な検証関数
raise ValidationError('Invalid input')
このように記述することで、is_valid
関数がFalse
を返した場合、'Invalid input'
というメッセージのValidationError
が発生します。
実装例
以下に、具体的な実装例を示します。
from django import forms
from django.core.exceptions import ValidationError
def is_oddnumber(value):
if value % 2 == 0:
raise ValidationError('偶数を入力してください')
class MyForm(forms.ModelForm):
filter_size = forms.IntegerField(
required=True,
max_value=100,
min_value=1,
validators=[is_oddnumber],
)
この例では、is_oddnumber
関数をバリデータとして使用しています。この関数は、入力値が偶数である場合にValidationError
を発生させます。したがって、このフォームではfilter_size
フィールドに偶数が入力されると、'偶数を入力してください'
というエラーメッセージが表示されます。
以上、PythonのDjangoフレームワークで提供されているValidationError
について解説しました。この例外を理解し、適切に使用することで、より堅牢なアプリケーションを作成することができます。