【问题标题】:How to add custom validation message using Asp.NET 4.5 and Razor view (Not MVC)如何使用 Asp.NET 4.5 和 Razor 视图(非 MVC)添加自定义验证消息
【发布时间】:2013-12-04 18:41:47
【问题描述】:

我有一个使用 Razor 视图的 ASP.NET 4.5 网站项目。这不是一个 MVC 项目,它是一个只有几个 .cshtml 文件的空网站。

我有一个要验证的表单。我找到了一个站点here,它解释了如何使用 Razor 视图执行此操作,但 Validation 类没有示例中显示的方法。然后,我在 HTML5 中遇到了 required 属性,并将其添加到表单中的每个 <input> 中。这是在我提交表单时验证表单,但它使用的是通用错误消息,如图所示:

这是我的问题:

有什么方法可以自定义这些消息吗?

除了required 之外,还有什么方法可以验证其他要求 - 比如确保它是一个数字或一定的长度等?

*注意** 我没有使用 MVC,所以没有模型等。如果可能的话,我还尝试使用 ASP.NET 内置的东西,而不是直接使用 jQuery Validation。

提前致谢!

【问题讨论】:

标签: c# asp.net razor


【解决方案1】:

您可以使用data-val-required 属性设置自定义消息。

确保您在页面中添加了jquery validationMicrosoft jquery unobstrustive js 文件。

以下是示例。您可以混合所有 data-val 属性并实现所有组合

示例 1:必填,长度

<input type="text" value="" name="UserName" id="checking-user" 
 data-val="true"
 data-val-required="The UserName field is required." 
 data-val-length-max="100" 
 data-val-length="The field UserName must be a string a maximum length of 100." 
 />

示例 2:必填、数字和正则表达式

<input type="text" value="" name="PaidAmount" 
   data-val="true" 
   data-val-required="Amount is required" 
   data-val-regex-pattern="[-+]?[0-9]*\.?[0-9]?[0-9]" 
   data-val-regex="Amount should be in numbers" 
   data-val-number="The field PaidAmount must be a number." 
   />

【讨论】:

  • 他说不用jquery:-o
  • @Geeo,那么他应该建立自己的验证库:)
  • 是的,但是 html5 对验证有一些支持 :-)
  • 感谢 Murali 提供有关 jQuery 的信息。我不知道它可以像使用属性那样使用。当 HTML5 可能不可用时,这是对浏览器支持的更好解决方案吗?
  • @Murali,在对您的建议进行了一些试验后,我无法让它发挥作用。为此需要使用 MVC 吗?网络上的一切似乎都与通过这种方法使用 MVC 有关。
【解决方案2】:

是的,您可以使用 HTML5 only 进行大量验证

除了文本输入类型,现在还有许多其他选项, 包括电子邮件、网址、号码、电话、日期等等。

您可以使用setCustomValidity 自定义消息等。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多