默认情况下,Html 5网址验证需要 http:// 或 https:// 。我尝试使用自定义正则表达式添加模式属性,但同时使用type =“url”,但未能这样做。
是否有任何选项可以覆盖正则表达式以使 http:// 或 https:// 可选?
答案 0 :(得分:1)
请尝试使用此正则表达式验证网址,而不使用" http://"," https://"或" www" :
//Validates url without "http://", "https://" or "www"
[RegularExpression(@"((www\.|(http|https|ftp|news|file|)+\:\/\/)?[_.a-z0-9-]+\.[a-z0-9\/_:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])", ErrorMessage = "Please check the url")]
希望这会有所帮助......
答案 1 :(得分:0)
但它太旧了,我不知道它如何与最新的MVC版本一起使用。
型号:
public class MyClass
{
public int Id { get; set; }
public string WebSite { get; set; }
}
查看:
@foreach (var item in Model) {
<tr>
<td>
<a target="_blank" href="http://@Html.DisplayFor(modelItem => item.WebSite)">@Html.DisplayFor(modelItem => item.WebSite)</a>
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr> }