JSでゴリゴリ書く時代ではないのかもな…というメモ
出典
inputタグの属性として指定ができる。
もう一つとてもよく使われる機能は pattern 属性で、値として正規表現を取ります。 - フォームデータの検証 - Web 開発を学ぶ | MDN - 正規表現での検証
上記の引用元の改変になるが以下のようなものを作ると、YesかNoかしかSubmitできないformができる。
<form> <label>YesかNoをいれてください</label> <input id="choose" type="text" pattern="Yes|No"> <button>回答</button> </form>
このHTMLで作った場合、Submitしてそぐわない値の場合はブラウザが用意してくれたアラートがでる
HTMLを細工すればSubmitは押せるようになるので、防御機構としてはそこまで期待できないが、「サーバにリクエストを送る前に軽くバリデーションかけたい」とか「特にUIは気にしないけど事前にある程度保険としてかけたい」とかそういう用途には効く。なので悪意の利用者が少ない内部管理ツールなどが一番活躍できるタグ。
どの正規表現がつかえるかは上記MDNのリンク参照のこと。