在Vs2012中,有ASP.net MVC4 Application / WebSite Razor2 这两种网站开发模式。
我发现其中WebSite模式中,对数据验证可以使用如下的验证方法。
请问如何在MVC4 Application中使用该验证方法,换种方法来说也就是验证不想写在Model中。该如何实现??
// Setup validation Validation.RequireField("email", "You must specify an email address."); Validation.RequireField("password", "You must specify a password."); Validation.Add("password", Validator.StringLength( maxLength: Int32.MaxValue, minLength: 6, errorMessage: "Password must be at least 6 characters"));
<ol> <li class="email"> <label for="email" @if (!ModelState.IsValidField("email")) {<text>class="error-label"</text>}>电子邮件地址</label> <input type="text" id="email" name="email" value="@email" @Validation.For("email")/> @* 将任何用户名验证错误写入页中 *@ @Html.ValidationMessage("email") </li> <li class="password"> <label for="password" @if (!ModelState.IsValidField("password")) {<text>class="error-label"</text>}>密码</label> <input type="password" id="password" name="password" @Validation.For("password")/> @* 将任何密码验证错误写入页中 *@ @Html.ValidationMessage("password") </li> <li class="remember-me"> <input type="checkbox" id="rememberMe" name="rememberMe" value="true" checked="@rememberMe" /> <label class="checkbox" for="rememberMe">记住我?</label> </li> </ol> <input type="submit" value="登录" />
应该就是Jquery吧。
对于model验证来说,可以不为每个view都写一个model去实现验证,你可以使用EF生成的实体,通过MetadataType特性为实体加验证,详细使用,请看我的博文:http://www.cnblogs.com/lori/archive/2012/12/17/2821957.html
在对应标签中加入Html5属性和值即可。 你观察一下生成的代码。
http://www.cnblogs.com/yangda/archive/2013/02/19/2914256.html 可以看看这篇