• 締切済み

JQueryで2つのテキストフィールドの片方必須

お世話になります。 JQueryを使ってフォームのValidationを行っています。 2つのテキストフィールドの内、どちらか一方は必須フィールドにしたいのですが、その様なプラグインはありますでしょうか? 具体的には、固定電話番号と携帯電話番号のどちらかまたは両方に入力があった時のみOKとしたいのですが…

みんなの回答

回答No.2

回答ではなくて申し訳ないのですが、当方も同じ希望を持っています。 validation.jsを使って「二つのフィールド(携帯電話/固定電話)のうち片方が入力されていればOK」という状態を作りたいのです。 質問及び回答から時間が経過しておりますが、もし何かしらの解決方法が出ていればお教えいただけると幸いです。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>JQueryを使ってフォームのValidationを行っています。 想像するに、このあたりを利用なさっているのではないかと思いますが… https://github.com/jzaefferer/jquery-validation https://github.com/posabsolute/jQuery-Validation-Engine https://github.com/rickharrison/validate.js (↑とりあえず、簡単に検索してみただけです) それぞれの内容を確認してはいませんが、2つのうちのどちらかというようなチェックはあまり一般的とは思えませんので、そのままの機能が用意されていないのではないでしょうか。 しかし、例えば(↑)に例示の最初のものなどは、APIが用意されているので、カスタマイズしたチェックも可能かと思います。 (他のものにも同様の機能があるかも知れません) 以下にAPIのdocumentationがありますので、ご参考までに。 http://docs.jquery.com/Plugins/Validation …と思ってながめていたら、2つの入力を関連づけてチェックすることもできそうな感じですね。 http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression 私は英語がわかりませんので、説明内容はさっぱりですが、もしかするとご希望のような事も可能なのかも。 >具体的には、固定電話番号と携帯電話番号のどちらかまたは両方に入力があった時のみ 電話番号のチェックまで行なうのなら、API利用の方が簡単かも知れませんが、そもそも日本の番号に対応しているのかなぁ? ・・・と思ったら、どうやら、独自のチェックも追加できるようになっているみたいですね。 http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage これを利用することでも、2箇所のどちらかというのが可能かも。 一方、入力の有無のチェックだけでよいのなら、別途、素のスクリプトで調べるとしてもそれほどの手間ではありません。 例えば、それぞれのDOM要素がelement1、element2であるなら  if(element1.value || element2.value) ~ で、どちらかに入力があることをチェックすることが可能です。 (まぁ、これだと、スペースの入力でも通ってしまいますが…)

fcs01
質問者

お礼

ご回答有り難うございます。 ポイント頂いた先のドキュメントをまず読んでみたいと思います、 >一方、入力の有無のチェックだけでよいのなら、別途、素のスクリプトで調べる >としてもそれほどの手間ではありません。 はい、そうなのですが、この方法だと、他のValidationを行っているところと、メッセージの出方が変わってしまうので、美しく無いのです、

fcs01
質問者

補足

現在 http://5509.me/log/exvalidation にあるexValidationを使ってシステム全般のバリデーションを行っています。 ご教示頂いた2つの入力を関連づけてチェックするを参考にexValidationを拡張しようとしたのですが、うまくいきませんでした。 最初にexValidationを使っている事を言うべきでした。済みません。

関連するQ&A