MVC 4中的自动工具提示验证?

时间:2013-05-10 13:15:11

标签: c# asp.net-mvc asp.net-mvc-4 razor

这些东西来自哪里?我喜欢他们,我想在我的网站的其他地方利用它们。它似乎只在我在模型中进行正则表达式验证时显示:

[Display(Name = "Residential")]
[RegularExpression(@"[-+]?[0-9]*\.?[0-9]?[0-9]", ErrorMessage = "Must be a number")]
public Byte? residentialExperience { get; set; }

enter image description here

<div class="editor-label row">
    @Html.LabelFor(model => model.residentialExperience)
</div>
<div class="editor-field row">
    @Html.EditorFor(model => model.residentialExperience)
    @Html.ValidationMessageFor(model => model.residentialExperience)
</div>

如何在其他地方使用这些验证工具提示?另外,我怎么能把它们关掉?

另外:它没有显示我在模型中显示的相同消息。它说,“请输入一个数字”,而我写的“必须是一个数字。”

1 个答案:

答案 0 :(得分:4)

这是因为您正在输出数字字段。如果你查看你的HTML,你会看到你有这样的东西:

<input type="number" ... />

通过将类型定义为numbber,浏览器知道会发生什么,它会为您提供通用消息。这是Html 5规范的一部分。

如果要覆盖默认行为,可以执行以下操作:

@Html.TextBoxFor(model => model.residentialExperience, new { @type = "text" })