Jquery表单验证不在字段上工作

时间:2015-03-18 10:27:22

标签: asp.net-mvc forms unobtrusive-validation

我有一个ASP.NET MVC网站和一个带有表单的页面。

我使用jquery进行客户端验证。

使用[必需]属性

的字段可以正常工作

但我有一个不是必需的字段,但必须是一个URL:

[Display(Name = "URL", ResourceType = typeof(Resources.Resources))]
[RegularExpression(@"^http(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$", ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "URL_WRONG_FORMAT")]
public string Url{ get; set; }

当格​​式不正确并显示我的错误消息时,验证工作正常。

但是当我发送表格时,我会使用

 $('#MyForm').submit(function() {
            var form = $(this);
            if (form.valid()) {...}
});

即使格式错误的字段,表单仍然有效....

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

有效方法仅验证可见字段。我在3个选项卡中分割了一个表单,我想要验证的字段在验证期间不可见...