Djangoでのカンマ区切り整数リストの検証方法


  1. 独自のバリデータを作成する方法:
from django.core.exceptions import ValidationError
def validate_comma_separated_integer_list(value):
    integers = value.split(',')
    for integer in integers:
        try:
            int(integer)
        except ValueError:
            raise ValidationError("無効な整数が含まれています。")
# 使用例
from django import forms
class MyForm(forms.Form):
    my_field = forms.CharField(validators=[validate_comma_separated_integer_list])
  1. Djangoの組み込みバリデータを使用する方法:
from django import forms
class MyForm(forms.Form):
    my_field = forms.CharField(validators=[forms.validators.CommaSeparatedIntegerField()])
  1. モデルフィールドのバリデーションを設定する方法:
from django.db import models
class MyModel(models.Model):
    my_field = models.CharField(validators=[validate_comma_separated_integer_list])

これらの方法を使用すると、Djangoは入力された値がカンマで区切られた整数のリストであるかどうかを検証します。もし無効な整数が含まれている場合は、適切なエラーメッセージが表示されます。