我在这里试图找到两天的答案后写这个问题。mvc4 url验证
基本上这是发生了什么事情。
我在视图模型的属性如下
[Required(ErrorMessage = "Required Field")]
[Url(ErrorMessage="Please enter a valid url")]
[DisplayName("Website")]
public string web { get; set; }
在视图
,我有这个
@Html.EditorFor(model => model.web, new { AutoCompleteType = "Disabled", autocomplete = "off" })
现在的问题在于如何对这一领域的输入文本中被验证客户端。该字段必须始终具有协议前缀,否则它将变为无效。
我可以解决这个问题的最佳方法是什么?
很多谢谢
嗨,谢谢你的回复。我试图使用'[Url(UrlOptions.OptionalProtocol)]'。但是为了使UrlOptions可用,我必须添加'使用DataAnnotationsExtensions',然后'Url'变得模糊。为了纠正这种情况,我使用了'[DataAnnotationsExtensions.Url(UrlOptions.OptionalProtocol)]',但它并没有在前端进行验证。 – Amila 2013-03-07 10:09:11
好吧,直到我发现我在DataAnnotationsExtensions中做了什么错误,我才会合并答案。我从[link](http://dataannotationsextensions.org/Url/Create)中抓取了可选协议的正则表达式,并使用正则表达式数据注释进行验证。现在它工作正常。但我想使用DataAnnotationExtensions中提供的其他注释扩展。所以必须弄清楚发生了什么 – Amila 2013-03-07 13:20:23
@阿米拉我有同样的问题。我用这个定期的表达来代替。不是所有的东西都包括在内,而是完成了工作'[RegularExpression(“^ [(http(s)?):\\/\\ /(www \\。)?a-zA-Z0-9 @:%._ \\ + 〜#=] {2256} \\ [AZ] {2,6-} \\湾([ - α-ZA-Z0-9 @:?%_ \\ +〜#&// =] *)$ “)]' – Lsakurifaisu 2015-11-11 09:23:28