Nullable int validation不显示非数字值的消息

时间:2014-05-22 13:14:48

标签: jquery html asp.net asp.net-mvc validation

我正在使用jQuery验证,我有以下html:

<input data-val="true" data-val-number="The field Weight must be a number." data-val-range="The field Weight must be between 1 and 750." data-val-range-max="999" data-val-range-min="0" id="Weight" name="Weight" type="number" value="" />
<span data-valmsg-for="Weight" data-valmsg-replace="true"></span>

这就是我模型上的属性看起来像

[Range(1, 750)]
public int? Weight { get; set; }

当我使用0..999范围之外的数字时,验证失败,我看到了正确的消息。但是,当我使用非数字值(例如abc)时,表单会通过验证。我在这里做错了什么?

值得注意的是,使用double?可以正常工作。同一模型还具有可空的double属性,也使用Range属性进行修饰。此属性呈现完全相同的html,idname除外。

1 个答案:

答案 0 :(得分:1)

type="number"更改为type="text"解决了我的问题。