我只需要一个验证示例。对于剩下的我会做。假设我有一个text类型的输入:

 <p>
<label for="ClientName">ClientName:</label> <%= Html.TextBoxFor(model => model.Name)%>
 </p>

在这里,我想验证必填字段的文本框。我想要JavaScript中需要的此字段验证功能,并且想在 View 中使用此脚本。

最佳答案

您是否考虑过使用非侵入式验证?

您说您正在使用MVC3(尽管显然不是Razor View 引擎)。

使用如下代码:<p><label for="ClientName">ClientName:</label> <%= Html.TextBoxFor(model => model.Name)%></p>可以写成
Razor语法中的<p>@Html.LabelFor(model=>model.Name) @Html.TextBoxFor(model => model.Name) </p>

如果将其放在web.config中:

<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

然后使用以下数据注释来装饰模型中的属性:
[Display(Name = "Name")]
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }

然后通过将以下内容添加到_Layout.cshtml文件中,您将获得不打扰的验证:
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

然后,您可以将其添加到页面上的某处(要显示验证消息的位置):@Html.ValidationMessageFor(model=>model.Name)

09-11 18:25
查看更多