[CakePHP] 日本語をはじくalphaNumericを実装する

ネットの記事によると、CakePHPのバリデーションルール「alphaNumeric」は日本語をはじかないらしい。

試してみる。

半角記号を混ぜたらバリデーションエラーになった。これはOK。

cakephp-alphanumeric-1

ひらがなを混ぜたらエラーにならず。これはNG。

cakephp-alphanumeric-2

日本語ユーザ向けのシステムでは対処しないとマズイ。

対処法は日本語をはじくようにalphaNumericの実装を上書きすれば良い。

参考サイト

CakePHP2.xでvalidationルールで日本語がチェックされない – Qiita
http://qiita.com/ykirishima/items/9e71a6233058600ec2ea

CakePHPのバリデーションルール「alphaNumeric」は要注意! | アイビースター
http://ivystar.jp/programming/php/cakephp-php-programming/cakephp%E3%81%AE%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%AB%E3%80%8Calphanumeric%E3%80%8D%E3%81%AF%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%81/