FuelPHPで日本人にやさしいフォームを作る

FuelPHP Advent Calendar 2012 [email protected]_です
[email protected][email protected]リング」でした

自分はValidationの小ネタについて書こうと思います

結論から

FuelPHPのValidationに使えるvalid_string numericは半角数字のみ許可するバリデーションです
でも全角数字を入力された人に、「有効な文字列ではありません。半角数字 で入力して下さい。」というエラーメッセージを出したくない。。。

そんな時にadd_ruleにPHPのネイティブの関数か無名関数を突っ込むと解決できます

マニュアルでもさらっと触れられています

The first parameter of the add_rule() method can contain PHP native function names, any valid PHP callback and Closures in addition to the provided validation methods. The method will get the value to be validated as its first argument and any further arguments can be given to the add_rule() method.
We also provide a shorter syntax which is very limited in comparison. It will not accept array-callbacks, closures or parameters other than strings.

注意点 1

add_ruleは上から順番に処理されるので書く順番に気をつけないといけない

これだと数字で入力して下さいエラーが出ちゃいます

注意点 2

処理結果を取得するにはvalidated()を使う

こちらだと全角の数字が取れちゃうのでご注意を

明日は、

@ounziwさんの「ユニットテストのすすめ」です。お楽しみに〜

スポンサーリンク

シェアする

フォローする

コメント

  1. […] FuelPHP Advent Calendar 2012 6日目です。昨日はFuelPHPで日本人にやさしいフォームを作る(@redsnow_さん)でした。今日はユニットテストのすすめです。公式マニュアルhttp://fuelphp.com/docs/general/unit_testing.htmlを参考にしています。 […]

コメントを残す

トップへ戻る