下記のログインフォームで、IDをメールアドレスとして input type="email" とするとメールアドレス入力欄となりスマホなどではUIが良くなるのですが、submitする際にHTMLでもバリデーションが行われるので、エラーだった場合はsubmitされません。
<form action="/login" method="post" accept-charset="utf-8"> <input type="email" name="data[User][id]" /> <input type="password" name="data[User][pass]" /> <button type="submit">ログイン</button> </form>
概ねのシステムはサーバーサイド(PHP)で入力値のチェックを行うので、ブラウザ(HTML)側ではバリデーションチェックを行わなくても良いかもしれません。
その場合、CakePHP(2系)のFormヘルパーでformタグを出力しているとどう記述するのか、調べてみたところ下記の要領でした。
<?php echo $this->Form->create( null, array( 'url' => array( 'controller' => 'login' ), 'novalidate' => true ) ); ・・・・・ echo $this->Form->end();