ASp*_*rin 5 c# validation asp.net-mvc data-annotations
在我们的 ASP.MVC 项目中,我们使用 DataAnnotations 属性进行验证。其中一个字段应包含 Url 并用[Url]属性标记。但是如果我http://localhost:13030输入字段值,它就不会通过验证。
有没有办法使用该属性定义localhost为有效目标?
UrlAttribute根据源代码中显示的正则表达式进行验证: https: //github.com/Microsoft/referencesource/blob/master/System.ComponentModel.DataAnnotations/DataAnnotations/UrlAttribute.cs#L46。
http://localhost由于缺少 . 不匹配.。
有关其他选项,请参阅此答案:How I can validate urls in C# for localhost。
编辑:根据源代码,您可以添加dataAnnotations:dataTypeAttribute:disableRegEx到 AppSettings 并将其值设置为true。这将导致UrlAttribute验证过程仅检查它是否以http://,https://或开头ftp://。请参阅同一源文件的第 33 行。