2008-01-28

[メモ]djangoのnewformsで半角英数のみのフィールド

以下のような感じでCharFieldを定義すると一応できるが、作法的にOKなのだろうか。
なんかいちいちこういう書式の制限を書かなければならないわけはないと思うのでもっと簡単な方法があるはずじゃないかなあ。

class AsciiCharField(forms.CharField):
def clean(self, value):
if not re.match(ur"^[A-Za-z0-9_\-\.]+$", value):
raise forms.ValidationError(u'半角英数字のみを使用してください。')
return forms.CharField.clean(self, value)