3

我有一个使用jQuery不显眼验证的验证数字的问题。 我使用的版本是: ASP.MVC 3. 的JQuery 1.9.1 JQuery用户界面1.10.1 jQuery验证1.11.0Jquery验证不会正确验证数字吗?

我试图验证输入:

<input type="number" value="0" name="Data.time_between_loops.Planned.hour" id="Data_time_between_loops_Planned_hour" data-val-required="The hour field is required." data-val-range-min="0" data-val-range-max="23" data-val-range="The field hour must be between 0 and 23." data-val-number="The field hour must be a number." data-val="true" class="hour valid"> 

执行验证,但问题在于它对值AS执行一个字符串, ,即当我输入4时出现验证错误。

我查看了jquery.validation的代码,它看起来好像不会将任何值(元素值,最小/最大值)转换为数字,所以范围函数比较的值是字符串。 我假设如果你在jquery中设置最小/最大范围,那么这些值将不是字符串,但是当你在数据属性中指定它们时,它们是字符串,而jquery似乎不处理这个问题。

这是准备好了jQuery验证中的错误还是我做错了什么?

谢谢, Nadav 我该如何解决这个问题?

+0

是的。 [你应该参考这个Github页面寻找bug](https://github.com/jzaefferer/jquery-validation/issues?state=open)。 SO只适用于你的编码问题。 https://github.com/jzaefferer/jquery-validation/issues?state=open – Sparky 2013-03-11 16:07:42

+0

谢谢,这只是在我打开JQuery中的错误之前,我想确保我没有犯一个愚蠢的错误... – Nadav 2013-03-11 16:56:16

+0

I明白这一点,但这不是真的。请标记你的问题关闭或删除。谢谢。 – Sparky 2013-03-11 17:01:00

回答

0

在模型中创建属性数据类型整数。

请按照下列职位:

Validation on int data type asp .net mvc3

[Integer(ErrorMessage="Are you stupid? Just fill in numbers only!")] 
public int? TestValue { get; set; } 
+0

我没有在ASP.MVC3中的整数数据变换。 你从哪里得到它的? 无论如何,问题是JQuery验证代码中的错误,所以我怀疑它会帮助... 无论如何,感谢您的建议.. – Nadav 2013-03-11 17:01:16

0

[数据类型(整数)是MVC 3 你可以做一招有效。即 使文本框类型='文本'并验证它的JavaScript,该框只接受数字值。 然后您可以通过范围验证来验证控件。