2007年6月15日(金曜日)

ActionForm で自前 validate

カテゴリー: - Ryuji @ 22時36分05秒

cubson で生成される編集用のコードには、ActionForm が使われています。

ActionForm についての説明は、作者である minahito 氏の BLOG に詳しく書かれています。

What is ActionForm? (1)
What is ActionForm? (2)
What is ActionForm? (3)
What is ActionForm? (4)
What is ActionForm? (5)
What is ActionForm? (6)

cubson で生成される編集用の ActionForm で行われる妥当性検査は、原則としてデータベースに対して妥当な値であるかどうかだけです。

開始日と終了日を入力してもらうようなケースで、開始日が終了日よりも前の日付かどうかや、入力された文字列が日付として妥当であるかは、自動生成されたコードではチェックされません。

そこで、このようなケースでは、生成された ActionForm をカスタマイズすることになります。

たとえば、終了日(end_date)が開始日(start_date)よりもあとであるかを確認するには次のようなメソッドを ActionForm に追加します。

function validateEnd_date() { if($this->get('start_date') > $this->get('end_date')){ $this->addErrorMessage(' 終了日は開始日以降の日付を入力してください '); } }

ActionForm は、 validate{ フィールド名 } メソッドがあると、そのメソッドを実行するようになっていますので、独自の妥当性検査をしたい時には、このように validate メソッドを追加します。

また、XOOPS Cube core にそなわっている validator での妥当性検査を追加することもできます。
# core/XCube_Validator.class.php にあります。
XCube_Validator.class.php にある validator をベースにして自前の validator を作成して使うこともできます。自前 validator の作成方法については、また次回に(^^;


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.028 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.