我有一个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()) {...}
});
即使格式错误的字段,表单仍然有效....
知道为什么吗?
答案 0 :(得分:0)
有效方法仅验证可见字段。我在3个选项卡中分割了一个表单,我想要验证的字段在验证期间不可见...