Django オンラインドキュメント和訳 更新しました。 Revision 5241 (2007/05/14). newforms - 組み込みフォームフィールドクラス についての記述が更新されています。
以下、 diff -r 5221:5241 の主な変更分です。
通常, newforms ライブラリには,一般的なバリデーション機能を備えたフィー ルドクラスのセットがついてきます.この節では,そうした組み込みフィールドに ついて述べます.
各フィールドについて, widget パラメタを指定しなかったときのデフォルト のウィジェット型について説明しています.また,データが空の値だったとき (前述の requied の節を参照してください) に返される値についても定義して います.
- デフォルトのウィジェット: CheckboxInput
- 空のフォームデータに対する値: None
- Python データへの正規化: Python の True または False 値
- バリデーションなし (ValidationError を送出しない)
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: '' (空文字列)
- Python データへの正規化: Unicode 文字列オブジェクト
- max_length や min_length を指定しないかぎり, バリデーションなし
オプションの引数として, max_length と min_length の二つをとれます. これらの引数を指定すると,文字列長が最大,あるいは最小値の条件を満たしてい るか検証します.
- デフォルトのウィジェット: Select
- 空のフォームデータに対する値: '' (空文字列)
- Python データへの正規化: Unicode 文字列オブジェクト
- 入力値が選択肢内にある値かどうか検証します.
追加の引数として, choices 引数をとります. choices 引数はイテレー ション可能オブジェクト (たとえばリストやタプルなど) で,各要素はフィールド の選択肢として使える 2 要素のタプルでなければなりません.
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: None
- Python データへの正規化: Python datetime.date オブジェクト
- 入力値が datetime.date や datetime.datetime オブジェクト,ま たは特定の日付フォーマットの形式に従っているか検証します.
オプションの引数として, input_formats をとります. input_formats は,文字列から有効な datetime.date オブジェクトへの変換を試みるために使 われるフォーマット文字列からなるリストです.
input_formats を指定しない場合,デフォルトで以下の入力フォーマットをサ ポートします:
'%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: None
- Python データへの正規化: Python datetime.datetime オブジェクト
- 入力値が datetime.date や datetime.datetime オブジェクト,ま たは特定の日付フォーマットの形式に従っているか検証します.
オプションの引数として, input_formats をとります. input_formats は,文字列から有効な datetime.datetime オブジェクトへの変換を試みるため に使われるフォーマット文字列からなるリストです.
input_formats を指定しない場合,デフォルトで以下の入力フォーマットをサ ポートします:
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' '%Y-%m-%d %H:%M', # '2006-10-25 14:30' '%Y-%m-%d', # '2006-10-25' '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' '%m/%d/%Y %H:%M', # '10/25/2006 14:30' '%m/%d/%Y', # '10/25/2006' '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' '%m/%d/%y %H:%M', # '10/25/06 14:30' '%m/%d/%y', # '10/25/06'
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: '' (空文字列)
- Python データへの正規化: Unicode 文字列オブジェクト
- やや複雑な正規表現を使って,入力値が有効なメールアドレスであるか検証 します.
オプションの引数として, max_length と min_length の二つをとれます. これらの引数を指定すると,文字列長が最大,あるいは最小値の条件を満たしてい るか検証します.
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: None
- Python データへの正規化: Python 整数型または長整数型
- 入力値が整数であるか検証します. Python の int() 関数と同様,先頭 や末尾に空白があってもかまいません.
- デフォルトのウィジェット: SelectMultiple
- 空のフォームデータに対する値: [] (an empty list)
- Python データへの正規化: Unicode 文字列オブジェクトのリスト
- 入力値のリスト中の全ての値が選択肢内の値であるかどうか検証します.
追加の引数として, choices 引数をとります. choices 引数はイテレー ション可能オブジェクト (たとえばリストやタプルなど) で,各要素はフィールド の選択肢として使える 2 要素のタプルでなければなりません.
- デフォルトのウィジェット: NullBooleanSelect
- 空のフォームデータに対する値: None
- Python データへの正規化: A Python True, False or None value.
- バリデーションなし (VaridationError を送出しない)
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: '' (空文字列)
- Python データへの正規化: Unicode 文字列オブジェクト
- 入力値が特定の正規表現にマッチするかどうか検証します.
必須の引数 regex をとります. regex は正規表現を表す文字列またはコ ンパイル済みの正規表現オブジェクトです.
また,以下のオプション引数をとります:
引数 説明 max_length 文字列の最大長です. min_length 文字列の最小長です. error_message バリデーションに失敗したときに返すエラーメッセー ジです.メッセージを指定しなければ,汎用のエラー メッセージを使います.
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: None
- Python データへの正規化: Python datetime.time オブジェクト
- 入力値が datetime.time オブジェクトまたは特定の日付フォーマットの 形式に従っているか検証します.
オプションの引数として, input_formats をとります. input_formats は,文字列から有効な datetime.time オブジェクトへの変換を試みるために使 われるフォーマット文字列からなるリストです.
input_formats を指定しない場合,デフォルトで以下の入力フォーマットをサ ポートします:
'%H:%M:%S', # '14:30:59' '%H:%M', # '14:30'
- デフォルトのウィジェット: TextInput
- 空のフォームデータに対する値: '' (空文字列)
- Python データへの正規化: Unicode 文字列オブジェクト
- 入力値が有効な URL であるかどうか検証します.
以下のオプションの引数をとります:
引数 説明 Description max_length 文字列の最大長です. min_length 文字列の最小長です. verify_exists True にすると,バリデータが指定された URL をロードできるか調べ,該当ページの HTTP レス ポンスが 404 のときに ValidationError を 送出します.デフォルト値は False です. validator_user_agent URL が存在するか確かめるときに使うユーザエー ジェントを表す文字列です.デフォルト値は URL_VALIDATOR_USER_AGENT 設定の値です.
以下のフィールドはまだドキュメント化されていません.使いかたは,このドキュ メントの末尾のリンクから辿れる各フィールド型のユニットテストを参照してくだ さい.
