lok*_*oki 6 validation asp.net-mvc
我是mvc的新手,并且有几个关于asp mvc 3验证的问题,关于任何这些问题的帮助都是apreciated:
首先,我有一个模型类,需要一些字段存在,如下所示:
[Required(ErrorMessage = "Required field")]
public UInt16 SomeField { get; set; }
Run Code Online (Sandbox Code Playgroud)
它正在工作,但错误消息是黑色字体(我希望它是红色),我认为验证是在服务器端而不是客户端,我已经阅读了一些关于如何进行javascript验证的教程工作,但它显然不起作用:
Web.config文件
<appSettings>
<add key="ClientValidationEneabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
Index.cshtml
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
@{ Html.EnableClientValidation(); }
Run Code Online (Sandbox Code Playgroud)
这将是我的第二个问题,让它在客户端工作.
对于某些具有Required验证器并且具有一组与之关联的单选按钮的字段
模型
[Required(ErrorMessage = "Required field")]
public UInt16 SomeField { get; set; }
Run Code Online (Sandbox Code Playgroud)
视图
@Html.RadioButtonFor(model => model.SomeField, 1) Label
@Html.RadioButtonFor(model => model.SomeField, 2) Label
@Html.ValidationMessageFor(model => model.SomeField)
Run Code Online (Sandbox Code Playgroud)
当您错过单击单选按钮时,验证消息不显示(即使是黑色字体),如何在没有按下按钮时显示它.
ASP MVC 3 Razor引擎
Dar*_*rov 15
Microsoft*.jsASP.NET MVC 3中不推荐使用脚本,不应再使用这些脚本.你可以完全摆脱它们.如果要升级旧应用程序,则仅提供它们以实现向后兼容性.同为代表真正的Html.EnableClientValidation();帮手.它们被jquery.validate插件和不显眼的验证脚本所取代.
而且,由于您在web.config中启用了不显眼的验证,因此在MVC 3应用程序中启用客户端验证所需要的只是包括jquery.validate.js和jquery.validate.unobtrusive.js脚本,以及jquery您当前使用的版本,因为这些脚本都依赖于在上面.
<script type="text/javascript" src="@Url.Content("~/scripts/jquery-1.5.1.js")"></script>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.validate.js")"></script>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.validate.unobtrusive.js")"></script>
Run Code Online (Sandbox Code Playgroud)
关于代码的另一个注意事项是[Required]您应用于非可空类型(ushort)的属性.这没有任何意义,因为非可空类型本质上总是有价值的.Required属性应仅用于可空类型,例如:
[Required(ErrorMessage = "Required field")]
public ushort? SomeField { get; set; }
Run Code Online (Sandbox Code Playgroud)
就验证消息的颜色而言,客户端和服务器端验证都使用相同的HTML结构.因此,设计这些消息的外观和感觉确实是CSS的问题.