加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 03:41:56 所属栏目:asp.Net 来源:网络整理
导读:我是mvc的新手,并且有几个关于asp mvc 3验证的问题,关于任何这些问题的帮助都是apreciated: 首先,我有一个模型类,需要一些字段存在,如下所示: [Required(ErrorMessage = "Required field")]public UInt16 SomeField { get; set; } 它正在工作,但错误消息是
我是mvc的新手,并且有几个关于asp mvc 3验证的问题,关于任何这些问题的帮助都是apreciated:

首先,我有一个模型类,需要一些字段存在,如下所示:

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

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

Web.config文件

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

Index.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
剃刀引擎

解决方法

Microsoft * .js脚本在ASP.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>

关于代码的另一个注意事项是您应用于非可空类型(ushort)的[Required]属性.这没有任何意义,因为非可空类型本质上总是有价值的. Required属性应仅用于可空类型,例如:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读