cakePHP 日本語のヴァリデーション

デフォルトのグローバル関数(?)のmaxLengthでvalidationを行うと
strlenが利用されているため
日本語の文字数が正しくカウントされない
ヴァリデーションルールはカスタマイズチェックの場合と同様に
同一モデル内に記述すれば、こちらが参照されるので
function maxLength($data, $max) {
$str = array_shift($data);
$length = mb_strlen($check,mb_detect_encoding($str));
return ($length array(
‘rule’ => array(‘maxLength’, 25),
‘message’ => ‘名前は25文字以内で入力してください。’,
),
で変更せずにOKです

Published by

kashioka

有限会社アリウープ 代表取締役社長 PHPユーザ会の発起人の一人。いちばんやさしいPHPの教本(インプレス),PHPハンドブック(ソフトバンククリエイティブ)著者。PHPカンファレンス実行委員 明日の開発カンファレンス開催 認定スクラムマスター。近年、PHPに限らずサーバレス環境でのPythonなども書いたりしている。 http://alleyoop.jp

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。