【问题标题】:jQuery Validate plugin custom method not working [duplicate]jQuery Validate 插件自定义方法不起作用[重复]
【发布时间】:2014-07-03 05:29:22
【问题描述】:
<script> 
    $("#form").validate();
    $(document).ready(function ()  
    {
        var merror = '';    
        jQuery.validator.addMethod('mvalid', function(value, element) {  
        if($("#mobile").hasClass("required") == true && ($("#mobile").val().substr(0,1) != '7' ||$("#mobile").val().substr(0,1) != '8' ||
        $("#mobile").val().substr(0,1) != '9'))  {                                        
            merror = 'Enter correct Mobile No.';
            return false;                                                     
        }
            return true;        
        }, merror); 
    }); 
</script>

【问题讨论】:

  • 为什么是 $("#mobile").val();在引号中...?
  • 从 var merror = '$("#mobile").val()' 中删除引号;
  • 解释一下您所说的“自定义方法”是针对 jQuery Validate 插件的,这对您会更有帮助。请详细解释一下“不工作”的确切含义。此外,编辑您的 OP 以包含相关的 HTML 标记。
  • 再一次,相关的 HTML 在哪里?
  • @Sparky,先生,但这应该只需要 jQuery Validation Code.Code 来做 validate 应该像 op 给出的那样就足够了。

标签: jquery jquery-validate


【解决方案1】:

您不需要创建自定义方法来简单地显示required 规则的自定义消息。只需使用messages 选项即可。

$('#myform').validate({
    rules: {
        mobile: {
            required: true
        }
    },
    messages: {
        mobile: {
            required: 'Enter Mobile No.'
        }
    }
});

演示:http://jsfiddle.net/dLq5t/


编辑:

否则,如果您需要自定义规则,则消息是其中的最后一项。它会在元素验证失败时显示。

jQuery.validator.addMethod('mvalid', function(value, element, params) {
     // your custom function
     // return true to pass validation
     // return false to fail validation and display error message
}, 'Enter Mobile No.');

查看文档:http://jqueryvalidation.org/jQuery.validator.addMethod/

顺便说一句:您不需要检查自定义函数中的空字段,因为required 规则已经处理了这一点。而且您无需再次检查required class,因为该插件默认情况下已经这样做了。

【讨论】:

  • 然后使用自定义方法,并将其用作 => customMobileValidatin: true below required:true
  • @user3682603,请参阅我的编辑,了解在自定义方法中放置自定义消息的位置。
  • @Sparky ,他想要他的逻辑的现成方法
  • @PratikJoshi,如果他能提出更具体的问题,那么他会得到更具体的答案。正如你所看到的,“标题”是他真正说了什么的唯一地方。根据 cmets 和读心术将这一切拼凑起来不是我们的工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-14
  • 2012-01-04
  • 2021-08-21
相关资源
最近更新 更多