CakePHP CakePHP2.x系のバリデーション、alphaNumericがダメダメなので、独自バリデーションで回避。 CakePHP2.3.6のバリデーションの「alphaNumeric」、本などには「半角英数字のみ許可」となっていますが、なぜか日本語が通ってしまいました。 有名な話しらしいので、原因はすぐに判明。 元のルーチンがちょと特殊な書き方をしているために起きるようです。 修正はコアな部分を書き換えてしている方もいましたが、そんなところを書き換えるのはリスクが大きいため、 普通に独自のバリデーションを作ったほうが早いので、さくっと作りました。 AppModel に以下を作成。 /** * アルファベット|数字|のみかどうかチェック * */ function is_alphabet_number_only( $field=array() ) { if ( is_array(
![CakePHP2.x系のバリデーション、alphaNumericがダメダメなので、独自バリデーションで回避。 - Wataame Frog](https://cdn-ak-scissors.b.st-hatena.com/image/square/0d1d6f8c420ce0aadc3e9b4e8a57060f8e30eb34/height=288;version=1;width=512/https%3A%2F%2Fnodoame.net%2Fwp-content%2Fuploads%2Feyecatch_cakephp_20160912_cmp.png)