3. commons.forms.fields – フォームフィールド

class commons.forms.fields.StripRegexField

検証する前に、strip()をかけるフィールド。さらに、正規表現を指定した 正規表現にマッチするかを検証します:

from django import forms
from commons.forms import StripRegexField

class MyForm(forms.Form):
    name = StripRegexField('^Monty', label=u'名前', error_message=u'名前はMontyから始まらないといけません。')
class commons.forms.fields.EmailField

Djangoは標準に電子メールアドレスのフォームフィールドクラスを用意してありますが、 メールアドレスのフォーマットに厳しい。特に、日本の携帯メールアドレスが標準 Django の EmailField の検証に通らない。というわけで、commons.forms.fields で EmailField が実装されています。

使い方は Django の EmailField と一緒です:

from django import forms
from commons.forms import EmailField

class MyForm(forms.Form):
    email = EmailField(label=u"メールアドレス")
class commons.forms.fields.AlphaNumField

半角英数字と”_”,”-“のみ許容するフィールド:

from django import forms
from commons.forms import AlphaNumField

class MyForm(forms.Form):
    username = AlphaNumField(label=u'ユーザ名')
class commons.forms.fields.NumCharField

NumCharField は数字のみを許容するフィールド:

from django import forms
from commons.forms import NumCharField

class MyForm(forms.Form):
    voucher_id = NumCharField(label=u'伝票ID')
class commons.forms.fields.FullWidthCharField

全角文字のみを許容するフィールド:

from django import forms
from commons.forms import FullWidthCharField

class MyForm(forms.Form):
    name = FullWidthCharField(label=u'名前')

注釈

現在の実装ですと、utf-8のみに対応しています。

class commons.forms.fields.HiraganaCharField

全角ひらがなのみを許容するフィールド:

from django import forms
from commons.forms import HiraganaCharField

class MyForm(forms.Form):
    name = HiraganaCharField(label=u'名前')

注釈

現在の実装ですと、utf-8のみに対応しています。

class commons.forms.fields.JSONField

バージョン 0.37 で撤廃: 削除されました。 https://pypi.python.org/pypi/jsonfield を使用して下さい。