Asp.net mvc ASP MVC单选按钮验证

Asp.net mvc ASP MVC单选按钮验证,asp.net-mvc,validation,Asp.net Mvc,Validation,我是mvc新手,对asp mvc 3验证有几个问题,请提供以下帮助: 首先,我有一个模型类,它要求一些字段如下所示: [Required(ErrorMessage = "Required field")] public UInt16 SomeField { get; set; } 它正在工作,但错误消息是黑色字体(我希望它是红色的),我认为验证是在服务器端而不是在客户端使用plance,我已经阅读了一些关于如何使javascript验证工作的教程,但它显然不工作: Web.config <

我是mvc新手,对asp mvc 3验证有几个问题,请提供以下帮助:

首先,我有一个模型类,它要求一些字段如下所示:

[Required(ErrorMessage = "Required field")]
public UInt16 SomeField { get; set; }
它正在工作,但错误消息是黑色字体(我希望它是红色的),我认为验证是在服务器端而不是在客户端使用plance,我已经阅读了一些关于如何使javascript验证工作的教程,但它显然不工作:

Web.config

<appSettings>
  <add key="ClientValidationEneabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
看法

当您未点击单选按钮时,验证消息不会显示(即使是黑色字体),当没有按下按钮时,如何使其显示

ASP MVC 3
Razor引擎

Microsoft*.js脚本在ASP.NET MVC 3中已被弃用,不应再使用。你可以完全摆脱它们。只有在升级较旧的应用程序时,才提供它们以实现向后兼容性。
Html.EnableClientValidation()也是如此助手。它们被
jquery.validate
plugin和不引人注目的验证脚本所取代

由于您已经在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>

就验证消息的颜色而言,客户端和服务器端验证都使用相同的HTML结构。因此,设计这些消息的外观确实是CSS的问题。

像这样声明模型。。使用空值


如果你没有选择任何单选按钮,那么它将返回到你的视图,并显示验证消息…

常规jquery库是否需要放在它们之前,或者已经包含在其中的任何一个中。是的,在它们之前,因为它们都依赖于它。我想MicrosoftAjax会处理错误消息的相应css,这意味着我要做更多的工作+1+1,用于在不可为null的类型上提及必需的属性。我在查看其他人的代码时发现了很多次,当他们问“为什么当我没有选择任何内容时,这不进行验证?”那么,当属性仍然具有默认值时,如何将其标记为无效。洛基显然不认为0是有效的。你告诉他们为什么它不起作用,但现在如何使它起作用。
[Required(ErrorMessage = "Required field")]
public UInt16 SomeField { get; set; }
@Html.RadioButtonFor(model => model.SomeField, 1) Label
@Html.RadioButtonFor(model => model.SomeField, 2) Label
@Html.ValidationMessageFor(model => model.SomeField)
<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>
[Required(ErrorMessage = "Required field")]
public ushort? SomeField { get; set; }
[Required(ErrorMessage = "Required field")]
public  Nullable<UInt16> SomeField { get; set; }
if (!ModelState.IsValid)
{
    return View();
}