2013-10-19 58 views
-1

我想用我下载的整数输入验证,并设置“DataAnnotationsExtensions” 在我的项目,这部分代码:验证整数

using DataAnnotationsExtensions; 

,我在我的模型中使用此代码:

[Integer(ErrorMessage="Please Enter a Number")] 
public int PersonID { get; set; } 

,但它没有工作,当应用程序启动的HTML源代码是这样的:

数据-Val-数= “这个领域是PersonID必须是数字”

,但它必须是这样的:

数据-VAL-数= “请输入一个数字”

有人知道这件事吗?

+0

像@ m1kael所说的,这个消息出现是因为属性的类型(内置于MVC框架中)。我读过这可以改变,但不是很容易。建议(为了方便)使用正则表达式属性。 '[正则表达式( “^ \ d * $”)]'。这将接受空白或任何正整数。如果可以输入一个或多个数字,则将'*'更改为一个'+'。 http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.regularexpressionattribute.regularexpressionattribute%28v=vs.110%29.aspx – ps2goat

+0

这是一个好主意,但我不想使用正则表达式。 如果你有任何想法,请告诉我 但感谢您的帮助 –

回答

0

data-val-number属性是否存在,因为PersonID属性的类型为int。它不是DataAnnotationsExtensions的属性。

对于您的情况,DataAnnotationsExtensions添加另一个属性data-val-regex,它将包含您的消息,该消息在出现错误时显示。

+0

这是所有PersonID输入属性,但它没有data-val-regex

+0

看起来像您的DataAnnotationsExtensions无法启动。检查DataAnnotationsModelValidatorProviderExtensions.RegisterValidationExtensions ;叫做。看起来好像不是。该行应该在应用程序启动例程中。或者为你完成,通过NuGet添加DataAnnotationsExtensions到你的项目:TOOLS - > Library Package Manager - > Package Manager Console - > PM> Install-Package DataAnnotationsExtensions.MVC3 – m1kael