CakePHPでカタカナでバリデーションをかける

DSC00758

2014年05月08日(木)

またしてもこんばんわ。今回はCakePHPのカタカナバリデーションをかけるためのTipsになります。

ありきたりなバリデーションに関しては結構コピペですませたいタイプなので自分の備忘録的にも残しておこう。

 

Modelへの定義

 

// バリデーション定義
'name_kana' => array(
 'katakana' => array(
 'rule' => array('katakana_only'),
 'message' => 'カタカナで記入してください',
 ),
)

 

ruleとしてkatakana_only関数を呼び出すようにセットします。

そして問題のkatakana_only関数を記述していきましょう!

 

/**
 * 全角カタカナ以外が含まれていればエラーとするバリデーションチェック
 *
 *
 * @param array &$model
 * @param array $wordvalue
 * @return boolean
 */
function katakana_only( $wordvalue){

 $value = array_shift($wordvalue);

 return preg_match("/^[ァ-ヶー゛゜]*$/u", $value); // カタカナ
 //return preg_match("/^[ァ-ヶー゛゜]*$/u", $value); // スペースも含むカタカナ

}


これでカタカナバリデーションが機能すると思います。

コピペって素敵だよね。

 

今回参考にしたサイト様は以下です。

http://d.hatena.ne.jp/cakephper/20090603/1244016972

ありがとうございました!!

 

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR