定义model时候使用validator校验

发布时间 2023-09-01 16:21:53作者: 花生与酒

一、定义model时,使用校验

検証内容バリデーションクラス
正規表現によるチェック RegexValidator
最小文字数 MinLengthValidator
最大文字数 MaxLengthValidator
最小値 MinValueValidator
最大値 MaxValueValidator
 
class Item(models.Model):

    name = models.CharField(
        max_length=50,
        verbose_name="名前",
        validators=[validators.RegexValidator(
            regex=u'^[ぁ-んァ-ヶー一-龠]+\u3000[ぁ-んァ-ヶー一-龠]+$',
            message='氏名は漢字・ひらがな・カタカナのみとし、氏と名の間に全角スペースを入れてください',
        )]
    )

    age = models.IntegerField(
        verbose_name="年齢",
        validators=[validators.MinValueValidator(1)])

    check_date = models.DateField(
        verbose_name="確認日",
        validators=[validators.MaxValueValidator(
            date.today(),
            message='本日以前の日付を入力してください',
        )],    
    )