m6uのエンジニアっぽい日記

PHP利用開発やFuelPHP利用開発、PostgreSQL利用開発、Androidアプリ開発、CentOS7サーバー構築など、テクニカルでエンジニアっぽい内容の日記

FieldSet_Field->add_rule()の書き方がわからないわからない→わかった

 今日もFuelPHPプログラミングでハマっていたので、失敗を繰り返さないようメモしておきます。
 フォームの作成をしっかり「viewform」パッケージに依存していて、バンバンadd_text()とかadd_select()とか書きまくっています。
 フォーム入力の検証処理を組み込むのに、add_rule()を書きましょうねっていうのをリファレンスを見ていたら、「add_rule($callback)」の$callback箇所になんて書けばいいのかわからなくなったのです。
 結論はこうです。
 Fuel\Core\classes にある、「validation.php」をチェックします。
 Validation クラスの中に、コールバック関数群である、「_validation_」で始まるメソッドが多く記述されていて、例えば入力可能な文字種を指定する「valid_string」は「public function _validation_valid_string($val, $flags = array('alpha', 'utf8'))」と定義されています。
 これを見てやっと、どういう $flags を与えればいいかがわかりました。
 ソースを読んで理解しましたが、本当に読みたかったのは、「Validationクラス」のドキュメントだったりします。(汗)
 まだまだFuelPHPは奥が深い(というか、自分の理解の浅さ加減に呆れます)。