Validation 整数验证

Validation 整数验证,validation,asp.net-mvc-4,Validation,Asp.net Mvc 4,我想对下载的整数输入使用验证,并设置“DataAnnotationsExtensions” 在我的项目上使用这部分代码: using DataAnnotationsExtensions; 我在我的模型中使用了以下代码: [Integer(ErrorMessage="Please Enter a Number")] public int PersonID { get; set; } 但它不起作用,当应用程序启动时,HTML源代码如下: data val number=“字段PersonID必须

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

using DataAnnotationsExtensions;
我在我的模型中使用了以下代码:

[Integer(ErrorMessage="Please Enter a Number")]
public int PersonID { get; set; }
但它不起作用,当应用程序启动时,HTML源代码如下:

data val number=“字段PersonID必须是一个数字”

但必须是这样的:

data val number=“请输入一个数字”


有人知道这方面的情况吗?

之所以有
data val number
属性,是因为
PersonID
属性的类型是
int
。它不是DataAnnotationsExtensions的属性


在您的案例中,DataAnnotationsExtensions添加了另一个属性,
data val regex
,该属性将包含您的消息,在出现错误时会显示该消息。

如@m1kael所说,此消息的出现是因为属性的类型(内置于MVC框架中)。我曾读到,这是可以改变的,但不是很容易。建议(为方便起见)使用regex属性<代码>[RegularExpression(“^\d*$”)。它将接受空白或任何正整数。如果可以输入一个或多个数字,请将
*
更改为
+
。这是个好主意,但我不想使用正则表达式。如果你有任何想法,请告诉我,但谢谢你的帮助,这都是PersonID输入属性,但它没有数据val regex看起来你的DataAnnotationsEx不起作用。检查DataAnnotationsModelValidator是否提供Extensions.RegisterValidationExtensions();被称为。似乎不是。这一行应该在应用程序启动例程中。或者,若要完成此操作,请通过NuGet:TOOLS->Library Package Manager->Package Manager Console->PM>Install Package DataAnnotationsExtensions.MVC3将DataAnnotationsExtensions添加到项目中