検証済みの値 $validation->validated() で取得する値を変更するやり方。
やりたかったのは日付チェック用のルールを作っておいて検証が成功した場合の戻り値を統一したい。
入力例:2012/7/31, 2012-07-31, 2012年7月31日
検証済み:2012-07-31
myvalidation.php
public static function _validation_valid_date($val) {
// 検証を記述(省略)
// 検証後
// return true
return date('Y-m-d', strtotime($val));
}
こうしておくと
// date = '2012年7月31日';
$val = Validation::forge();
$val->add_callable('myvalidation');
$val->add('date', '日付')
->add_rule('valid_date');
if ($val->run())
{
echo $val->input('date'); // 結果:2012年7月31日
echo $val->validated('date'); // 結果:2012-07-31
}
こんなやり方でいいのかな。。。
動いたからいいか
0 件のコメント:
コメントを投稿