在jQuery Validate中添加和删除类规则

时间:2014-07-01 06:42:45

标签: jquery jquery-validate

我们如何在jquery插件中使用addclassrules和removeclassrules。 举例。

$('#form').validate({
});

if ($(this).attr("san") != "") {
    jQuery.validator.addClassRules("san" , { required: true });
    $.validator.addMethod("san", function() {
        required: true
    }, "Please enter your name");
}
else if ($(this).attr("san") == "") {
    jQuery.validator.removeClassRules("san"); 
}

4 个答案:

答案 0 :(得分:1)

你发布的代码很有意义......

if ($(this).attr("san") != "") {
    jQuery.validator.addClassRules("san" , { required: true });
    $.validator.addMethod("san", function() {
        required: true
    }, "Please enter your name");
}
else if ($(this).attr("san") == "") {
    jQuery.validator.removeClassRules("san"); 
}
  • $(this)在代码的上下文中不代表任何内容。

  • jQuery Validate插件中有{strong>没有这样的东西和removeClassRules()

  • 您未正确使用the .addMethod() method。此方法用于从头开始创建新规则(方法)。您必须只在function(){}内放置有效的jQuery / JavaScript。 required: true;内的function(){}完全没有意义,语法错误。

  • 您正在使用requiredclass规则分配给名为san的{​​{1}}。这似乎没必要。 the addClassRules() method的整个目的是将多个标准规则合并为一个(称为复合规则),并将该复合规则分配给addClassRules()。然后,只需使用class

  • 即可将规则应用于输入元素
  • 您尝试添加一个名为class的方法,创建一个名为san的{​​{1}}规则,同时您有class名为san的{​​{1}} }。 同样,这一切都没有任何意义


引用OP:

  

“我们如何在jquery插件中使用addclassrules和removeclassrules。附带示例。”

首先阅读the documentation并查看已发布的示例。如您所见,没有attribute方法。

然后在这里提问时,你会清楚地描述你想要它做什么,出了什么问题,并为自包含的例子包括足够的代码,包括相关的HTML标记。

请参阅:How to create a Minimal, Complete, and Verifiable example

答案 1 :(得分:0)

You just add required set to false in elseif condition.

if ($(this).attr("san") != "") {
    jQuery.validator.addClassRules("san" , { required: true });
    $.validator.addMethod("san", function() {
        required: true
    }, "Please enter your name");
} else if ($(this).attr("san") == "") {
    jQuery.validator.addClassRules("san" , { required: false }); 
}

答案 2 :(得分:-1)

你也可以这样做验证 jquery:

function test()
{ 
if ($("#txtText").val().trim() == "") {
                $("#txtText").focus();
                ValidateMessage("Please enter title.");
                return false;
            }
}
  function ValidateMessage(Message) {
            $("#pErrorMessage").html(Message);
            $("#dialogValidation").dialog('open');
        }

HTML

 <div id="dialogValidation" title="Mandatory message" style="display: none;">
        <p>
            <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
        </p>
        <p id="pErrorMessage">
        </p>
    </div>

答案 3 :(得分:-1)

//此代码用于设置规则

$。validator.addClassRules({ 地点名称:{ LOCATION_NAME:真实, 最大长度:30, alphabates:真 } });

//此代码用于显示您想要的验证消息。

 $.validator.addMethod(
    "location_name", //name of a virtual validator
    $.validator.methods.required,
    "Please enter the city"
    );

location_name将是您要为其提供验证的类名。