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