如何使用Asp.NET 4.5和Razor视图(非MVC)添加自定义验证消息

时间:2013-11-20 16:35:54

标签: c# asp.net razor

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

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

enter image description here

以下是我的问题:

有没有办法自定义这些消息?

除了required之外,还有其他方法可以验证其他要求吗 - 比如确定数字或某个长度等?

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

提前致谢!

2 个答案:

答案 0 :(得分:4)

您可以使用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." 
   />

答案 1 :(得分:1)

是的,您可以使用HTML5 only

进行大量验证
  

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

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