CakePHP2.3から、モデルのバリデーション定義で必須項目にしているフィールドには、Viewのinputタグにrequrired属性が追加されるようになりました。 つまり、下記のようなinputタグが出力されるということです(一番最後のrequired=の箇所︶ <input name="data[Contact][name]" maxlength="50" type="text" id="ContactName" required="required"/> これがあると、最近のブラウザではsubmit前に下記のような表示が出てPOSTできないようになります︵firefoxの例) これがあれば、Javascriptを使ったPost前のバリデーションチェックが少し楽になると思います。 ソースコードはまだ読んでませんが、どうも動きを見ると、allowEmptyがfalseの場合にこの動作に
![CakePHP2.3からinputタグにhtml5のrequired属性がつくようになった - cakephperの日記(CakePHP, Laravel, PHP)](https://cdn-ak-scissors.b.st-hatena.com/image/square/e70088a004d55f9e55f8196714059308907cd179/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcakephper%2F20130211%2F20130211223324.png)