gpt4 book ai didi

asp.net-mvc - ASP MVC 单选按钮验证

转载 作者:行者123 更新时间:2023-12-04 13:20:24 24 4
gpt4 key购买 nike

我是 mvc 的新手,对 asp mvc 3 验证有几个问题,关于任何这些问题的帮助将不胜感激:

首先,我有一个模型类,它需要像这样显示一些字段:

[Required(ErrorMessage = "Required field")]
public UInt16 SomeField { get; set; }

它正在工作,但错误消息以黑色字体显示(我想要红色),我认为验证是在服务器端而不是在客户端进行,我一直在阅读一些有关如何进行 javascript 验证的教程工作,但它显然不起作用:

网页配置
<appSettings>
<add key="ClientValidationEneabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

索引.cshtml
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
@{ Html.EnableClientValidation(); }

那将是我的第二个问题,让它在客户端工作。

对于某些具有 Required 的字段验证器并有一组与它们相关的单选按钮,如下所示

模型
[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)

当您错过单击单选按钮时,验证消息没有显示(即使是黑色字体),如何在没有按下按钮时显示它。

ASP MVC 3
Razor 引擎

最佳答案

Microsoft*.js脚本在 ASP.NET MVC 3 中已弃用,不应再使用。你可以完全摆脱它们。如果您要升级较旧的应用程序,则提供它们只是为了向后兼容。 Html.EnableClientValidation(); 也是如此。 helper 。它们被 jquery.validate 取代插件和不显眼的验证脚本。

由于您在 web.config 中启用了非侵入式验证,因此为了在 MVC 3 应用程序中启用客户端验证,您只需要包含 jquery.validate.jsjquery.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>

关于您的代码的另一个评论是 [Required]您应用于不可为空类型 ( ushort ) 的属性。这是没有意义的,因为不可空类型,就其本质而言,总是有值(value)的。 Required 属性应仅用于可为 null 的类型,例如:
[Required(ErrorMessage = "Required field")]
public ushort? SomeField { get; set; }

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

关于asp.net-mvc - ASP MVC 单选按钮验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com