昨日に更新した記事に引き続いてDjangoのModelについての備忘録もかねて。
正規表現のバリデーションにメッセージをつける!
DjangoのModelのpropertyに正規表現のバリデーションを設定したんですが、エラーメッセージがイケてないんですね……
ユーザにはわかりにくいといいますか……という訳で設定してみました。
model.py
from django.core.validators import RegexValidator, slug_re
class HogeModel(models.Model):
name = models.CharField(max_length=128, verbose_name='名前', validators=[RegexValidator(
slug_re,
'名前には半角英数字、アンダーバー、ハイフンのみ指定できます。',
'invalid'
)])
これで、Django adminのformから更新した際に入力エラーになっていると、カスタムなエラーメッセージが表示されます