質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
jQuery Validation Plugin

jQuery Validation PluginはjQueryのプラグインであり、クライアント側のデータ検証を行う役割があります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2533閲覧

【jquery.validate.js】複数フォームにそれぞれ独自Validationを設定した時の挙動がおかしい。

riverhead_mm

総合スコア11

jQuery Validation Plugin

jQuery Validation PluginはjQueryのプラグインであり、クライアント側のデータ検証を行う役割があります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/11/13 03:25

編集2017/11/13 04:16

ご覧いただきありがとうございます。
1画面に複数のフォームとsubmitボタンがあり、それぞれにjquery.validate.jsで入力値チェックを行おうとしています。
コードは以下のような感じです。

JavaScript

1$.validator.addMethod( 2 'original', 3 function(value, element, param) { 4 // ここにValidationを記載 5 }, 6 'エラーです' 7); 8var rules = { 9 foo: { 10 original: true 11 } 12}; 13 14var rules2 = { 15 bar: { 16 original: true 17 } 18}; 19 20$(function(){ 21 22 $('#aform').validate({ 23 rules: rules 24 }); 25 $('#bform').validate({ 26 rules: rules2 27 }); 28}

html

1<form id="aform" action="XXX"> 2 <input type="text" id="foo"> 3    <input type="submit" value="送信する"> 4</form> 5<form id="bform" action="YYY"> 6 <input type="text" id="bar"> 7    <input type="submit" value="送信する"> 8</form>

Validationのルールとしては、それぞれ独自のValidation「original」を設定しています。
ここで「aform」のsubmitボタンを押下したタイミングでは「foo」に対するValidationのみ実行してほしいのですが、必ずbformの「bar」に対してもValidationが実行されてしまいます。

aformはaform、bformはbformでそれぞれValidationが実行されるようにしたいのですが、どうしたらよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/11/13 04:05

そもそもhtml上おかしい記述が見受けられます。imput ではなく input 。html内ではないですが、subumi ではなく submit。正しい記述をしないと正しく動きません(また回答者を混乱させる元となります)
riverhead_mm

2017/11/13 04:14

大変失礼いたしました。ご指摘の通り修正いたしました。
karamarimo

2017/11/13 05:03

javascript の最後に ) が抜けてますよ
guest

回答2

0

自己解決

こちらに記載した場所以外のところに原因がありました。
($('#bform').valid();と明示的に呼び出している箇所があったためです。)
なので、ほかの方の役に立てるとも思えませんが、自己解決しましたので、クローズします。
回答いただきましたkaramarimoさまには感謝いたします。

投稿2017/11/13 11:37

riverhead_mm

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

jQuery.validatorは使ったことはないですがdocsを見る限りrules

Key is the name of an element (or a group of checkboxes/radio buttons)

つまりname属性を指定する必要があります。
しかし現在<input type="text" id="foo">となってます。

inputnameを指定してください。

Demo

投稿2017/11/13 05:13

karamarimo

総合スコア2551

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riverhead_mm

2017/11/13 06:24

ありがとうございます。 記載箇所とは別の問題で起こっていたことがわかり、自己解決しようかと思いましたが、コメントいただきましたので、ベストアンサーとさせていただきます。
karamarimo

2017/11/13 06:34

お気持ちは嬉しいですが、原因が別にあったのでしたら、私の回答をベストアンサーにせずに自分で解決した方法を投稿したほうがよろしいかと思います。他の人の役に立つかもしれないので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問