0

フォームの検証に jQuery 検証プラグインを使用しています。フォームにはエントリのグループがあり、そのうち 1 つだけを入力する必要があります。このために、前の質問のロジックを使用しました。エラーをポップアップとして表示し、グループにはポップアップを 1 つだけ表示したいと考えています。エラー表示には errorPlacement を使用しています。errorPlacement のコードは次のとおりです。

errorPlacement : function(error,element) {
 if (element.attr("name") == "telephone" || element.attr("name") == "mobile")
    alert(error.html);
 }

問題は、これにより、モバイルの検証中に 1 つと電話の検証中に別の 2 つの異なるメッセージがポップアップ表示されることです。一度だけポップアップするようにコードを変更するにはどうすればよいですか。

4

1 に答える 1

0

ポップアップが一度だけポップアップするように私がしたことは次のとおりです。

$(document).ready(function () {

$.validator.addMethod("customrule", function (value, element) {
    return (!($("#mobile").val() === '') || !($("#telephone").val() === ''));
}, "please fill out at least one");
var count =0;
$('#myform').validate({ // initialize the plugin
    groups: {
        name: "telephone mobile"
    },
    rules: {
        telephone: {
            customrule: true
        },
        mobile: {
            customrule: true
        }
    },
   errorPlacement : function(error,element) {
       if (element.attr("name") == "telephone" || element.attr("name") == "mobile")
          if (count%2 ==0)
           alert(error.html());
          count++;
     }
 });

});
于 2013-03-14T05:33:44.463 に答える