jQuery
投稿日:

jQueryによるフォームの検証

イライラ解消!!jQueryによるフォームの検証

※こちらのプラグインはかなり古くなってしまいましたので提供を終了しております。ご了承ください。

イライラ解消!!jQueryによるフォームの検証

こんにちは!ファストコーディングの働くおかんこと、石井です。

急に暑くなったと思ったら肌寒かったり、夏が近いなぁと思っていたら今度は梅雨、、
季節の変わり目って大変ですよね。
特に梅雨の時期はジメッとしていて、湿度は高いし、髪はうねるし、洗濯物は乾かないし、
早く過ぎてほしいと祈るばかりです。
でも、道端のアジサイには毎日癒されています。
私にとっては、この時期一番の楽しみです。

さて、今回はフォームの自動検証についてお話します。
皆さまは、お問い合わせフォームなどのフォームのについて、何か対策をされていますか?
「せっかくフォームまで来たのに、エラーが何度も出て、入力が面倒になって途中でやめてしまう・・・」
「フォームからお問い合わせしてもらったのに、入力の仕方が間違っていて返答ができない・・・」
「自動検証機能付けたいけど、設定が面倒・・・」
こんなご経験はありませんか?

そんなお悩みを持っている方に、今回は、「jQuery form optimizer」をご紹介します。
フォームを自動検証し、入力ミスをなくすのはもちろん、設定も簡単です。

まずは、こちらのリンクから「jQuery form optimizer」をダウンロードしましょう。
https://github.com/fastcoding-jp/form-optimizer

次に、
jquery.form.optimizer.js
jquery.form-optimizer.css
ja_JP.json (日本語の場合)
を、フォームを設置するプロジェクトにコピーしてください。

それでは実際にフォームを設置していきましょう。

Step 1. CSSファイルとJSファイルの読み込み
以下のコードをhtml内に埋め込み、コピーしたCSSファイルとJSファイルが読み込まれるように設定します。
※ディレクトリは、ファイルをコピーした場所を指定してください。

<link rel="stylesheet" href="jquery.form-optimizer.css"/>
<script src="jquery.form.optimizer.js"></script>

Step 2: フォームの作成
html上でフォームを作成します。

<form id="contact_form" class="wrapper">
</form>

入力項目については、必ずクラス名に
fo-item
を付けてください。
また、入力必須項目については、下記のようにクラス名に
fo-required
を付けてください。

<div class="fo-item fo-required"></div>

下記のように、”fo-item” 以下にラベルを追加すると、アラート検証のためにこのラベルが取得されます。

<div class="fo-item fo-required">
  <div class="fo-label">お名前</div>
</div>

ラベルの次に、inputタグを設置します。

<div class="fo-fields">
  <input type="text" class="first" placeholder="例)日本">
  <input type="text" class="second" placeholder="例)太郎">
</div>

入力ミスがあった場合に表示させたいメッセージがある場合は、”fo-errors”というクラス名を付けたdivタグを追加してください。

<div class="fo-errors"></div>

上記をまとめると以下のようなコードになります。

  <div class="fo-item fo-required">
   <div class="fo-label">お名前</div>
   <div class="fo-fields">
    <input type="text" class="first" placeholder="例)日本">
    <input type="text" class="second" placeholder="例)太郎">
    <div class="fo-errors"></div>
   </div>
  </div>

その他の項目については、以下の表を参考にしてください。

入力項目HTMLコード
カタカナ入力
        <input type="text" class="fo-katakana first" placeholder="例)二ホン">
        <input type="text" class="fo-katakana second" placeholder="例)タロウ">
        
選択項目
        <label for="genre-m">男</label>
        <input type="radio" id="gender-m" name="gender" value="m">
        <label for="genre-f">女</label>
        <input type="radio" id="gender-f" name="gender" value="f">
        
日付入力
        <input type="date" placeholder="例)1980/01/01">
        
時間入力
        <input type="time" placeholder="例)16:00">
        
数字入力
<input type="number" placeholder="例)2">
アドレス入力
<input type="email" placeholder="例)nihon.tarou@email.co.jp">
URL入力
<input type="url" placeholder="例)https://homepage.co.jp">
電話番号入力
<input type="tel" placeholder="例)080-8080-8080">
郵便番号入力
<input type="text" class="fo-zipcode" placeholder="例)107-0052">
都道府県入力
<select class="fo-region"></select>
選択項目
*複数
選択可
<input type="checkbox" id="type-design" name="type" value="design">
送信
ボタン
<button type="submit" class="fo-submit">送信</button>

Step 3: jQueryについて

コードが読み込まれた後に、「jQuery form optimizer」プラグインを作成するために上記で作成したセレクタフォームを呼び出します。言語ファイル名を入力し、language_path(言語ファイルを置くパスフォルダ)を入力します。

$(function() {
  var selector = $("#contact_form");
  selector.formOptimizer({
    language_path: 'lang/',
    language: "ja_JP"
  });
});

もし日本語以外の言語を使用したい場合は、言語ファイルを開いて直接翻訳してください。

いかがだったでしょうか。
何かご質問がありましたら、お問い合わせフォームよりご連絡ください。
皆さんもどんどん使ってみてくださいね。