ASP.NET MVC 3检查页面上的验证

时间:2011-11-18 16:28:18

标签: jquery asp.net-mvc-3 unobtrusive-validation

如何检查表单/页面是否有验证?

e.g。

 if ($('.uiModalContent > form') HAS VALIDATION) {
      $.validator.unobtrusive.parseDynamicContent('.uiModalContent');
 }

3 个答案:

答案 0 :(得分:0)

在黑暗中轻微拍摄,但你可能会检查是否

$(this).valid() == null //'this' is your form of course

//or

jQuery.Validator == null //global though, not form specific

为什么不直接解析内容?

答案 1 :(得分:0)

这有点hacky但您可以计算验证对象中验证规则的数量。也许是这样的:

function HasValidation(selector){
    var propCount = 0;
    for(var prop in $(selector).validate().settings.rules){
         propCount++;
    }
    return propCount > 0;
}

然后在你的if语句中调用:

HasValidation('.uiModalContent > form')

只是一个想法......

答案 2 :(得分:0)

我在寻找答案时遇到了这个问题,但收效甚微。所以我开始玩萤火虫和一些形式,并提出:

    if ($('#myform').data('validator') != null) {

        console.log('has validator');
    }
    else {
        console.log('no validator');
    }