这是我在模型中的代码:
[Required(ErrorMessage = "The url is required")]
[Url(ErrorMessage = "Invalid URL")]
public String Url { get; set; }
这是我在视图中的代码:
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-link"></span>
@Html.TextBoxFor(m => m.Url, new { @class = "form-control", placeholder = "Feed URL" })
@Html.ValidationMessageFor(m => m.Url)
</div>*emphasized text*
问题是 Url注释应该使用属性 type =“url”
呈现输入这就是我得到的:
<input class="form-control" data-val="true" data-val-required="The url is required" data-val-url="Invalid URL" id="Url" name="Url" placeholder="Feed URL" type="text" value="">
这就是我应该得到的:
<input class="form-control" data-val="true" data-val-required="The url is required" data-val-url="Invalid URL" id="Url" name="Url" placeholder="Feed URL" type="url" value="">
第一个的类型是“text”,我应该得到的输入是“url”。
答案 0 :(得分:0)
您可以手动设置类型,即
new {@class =“form-control”,占位符=“Feed网址”, type =“url”}
因为您使用的是Html.TextBoxFor,它会将该类型呈现为文本。
您可以随时使用Html.EditorFor,然后创建自己的编辑器模板“url”并在viewdata中传递所需的html属性。