プログラマ気分

メモや自分が思ったことを書く

<< 【FuelPHP】カスタムメッセージを、フィールド毎に validation.php の如く設定してみる | main | LINE と仲良くなってみる(失敗) >>

スポンサーサイト

2014.08.06 Wednesday

一定期間更新がないため広告を表示しています

-|-|-|by スポンサードリンク

【FuelPHP】バリデーションルール match_field について

2012.03.08 Thursday

【12/07/02】Validation クラスを継承しないやり方を追記しました。

FuelPHP のバリデーションには、他のフィールドと値が同じかどうかをチェック出来る match_field と言うルールが用意されています。

使い所としては、メールアドレスの入力確認、パスワードの入力確認などで使えます。

大変便利ですが、一点問題があります。
それは、入力時の値にしかマッチしない点です。

つまり、add_rule をフィルタとして扱った場合はマッチしないと言う事です。
実際の例を下に挙げてみます。

▼結果
string(72) "メールアドレス(確認)は、email1と異なっています。"
bool(true)

正しくマッチする様に、新たなルールを考えてみました。(以下の方法は、add_callable を使ってではなく、¥Fuel¥Core¥Validation を継承して実現させている点に注意してください。)

▼結果
bool(true)

match_validated_field は、バリデート後の値を元に比較を行いますので、結果は true となっています。

Validation クラスを継承してのルール追加が良い方法なのかは分かっていません。使用の際は自己責任でお願いします。

【追記:12/07/02】

よく考えたら、Validation#active を使えば、態々継承する必要なかった。

▼以下、修正後のソース

PHP22:32comments(0)trackbacks(0)by ニノミヤ カズノリ

スポンサーサイト

2014.08.06 Wednesday

-|22:32-|-|by スポンサードリンク

コメント
コメントする









トラックバック
calendar
   1234
567891011
12131415161718
19202122232425
262728293031 
<< March 2017 >>
sponsored links
selected entries
categories
archives
recent comment
recent trackback
links
profile
search this site.

others
mobile
qrcode