Recent changes

2013-04-14 2013-04-02 2013-02-17 2013-01-29 2013-01-20 2013-01-18 2012-12-08 2012-11-06 2012-09-04 2012-08-02

php/Ethna/ActionForm



自分用メモ

FormActionを書く上で必要になる定義の一覧。

FORM_TYPE_TEXT テキストボックス
FORM_TYPE_PASSWORD パスワード
FORM_TYPE_TEXTAREA テキストエリア
FORM_TYPE_SELECT セレクトボックス
FORM_TYPE_RADIO ラジオボタン
FORM_TYPE_CHECKBOX チェックボックス
FORM_TYPE_BUTTON ボタン
FORM_TYPE_FILE ファイル
type属性

type属性に設定可能な値は以下の通りとなりますので、受け取りたい値に応じて設定します。型として特に制限を設けない場合にはVAR_TYPE_STRINGを設定します。

VAR_TYPE_INT 整数(+/-)
VAR_TYPE_FLOAT 小数(+/-)
VAR_TYPE_STRING 文字列
VAR_TYPE_DATETIME 日付(YYYY/MM/DD HH:MM:SS等)
VAR_TYPE_BOOLEAN 真偽値(1 or 0)
VAR_TYPE_FILE ファイル
制限属性

required/min/max/regexpの各属性はtype属性に設定された値によって意味合いが変化します。詳細は以下の通りです。

type属性 required属性 min属性 max属性 regexp属性 h
VAR_TYPE_INT 必須チェック 数値としての最小値 数値としての最大値 正規表現
VAR_TYPE_FLOAT 必須チェック 数値としての最小値 数値としての最大値 正規表現
VAR_TYPE_STRING 必須チェック 最小バイト数 最大バイト数 正規表現
VAR_TYPE_DATETIME 必須チェック 入力可能な最も古い日付 入力可能な最も新しい日付 正規表現
VAR_TYPE_BOOLEAN 必須チェック - - -
VAR_TYPE_FILE 必須チェック ファイルの最小サイズ(KB) ファイルの最大サイズ(KB) -

CustomCheck

ActionFormの定義にcustomという値を追加することで独自のチェックを行なうことができます。 URLを格納する <code> 'url' => array(

   'name' => 'URL',
   'required' => true,
   'form_type' => FORM_TYPE_TEXT,
   'type' => VAR_TYPE_STRING

) </code> なんてのがあったときには、デフォルトで用意されているCustomValidateのcheckURLを利用すると便利です。以下のように一行追加するだけで格納された値がURLであるか否かチェックしてくれます。 <code> 'url' => array(

   'name' => 'URL',
   'required' => true,
   'custom' => 'checkURL',
   'form_type' => FORM_TYPE_TEXT,
   'type' => VAR_TYPE_STRING

) </code> 便利!デフォルトで用意されているものは他にも

  • checkVendorChar: 機種依存文字
  • checkBoolean: bool値
  • checkMailaddress: メールアドレス

があるよ! 自分で追加もできるので自作したらどんなの作ったか教えてください。

FormTypeのプラグイン化

このへんはプラグインで自由に追加できたほうが楽しいっつーことでプラグイン化した。 そのうちに公開するます。

Comment