[Ethna]$form_templateを使うときの注意点
親クラス
var $form_template = array(
'user_id' => array(
'type' => VAR_TYPE_INT,
'min' => 1,
'max' => 2147483647,
),
子クラス
var $form = array(
'user_id' => array(
'checkhoge' => true,
),
このようなことをしたいとします。checkhogeプラグインが呼ばれるときには、type,min,maxなどのチェックが終わっていることを当然期待してしまうのですが、残念ながらそうはなりません。
子クラスのvalidate()を呼び出すと、バリデーションの順番は下記のようになります。
checkhoge → type → min → max
こうなると、checkhogeにはINT型の自然数が渡されるという保証がないので、-1やら'a'やらいろんな値が入ってきてしまいます。
checkhoge内で独自にチェックしないといけないのです。
よい方法はないものか・・・
カテゴリ:
Ethna