我正在使用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,id
和name
除外。
答案 0 :(得分:1)
将type="number"
更改为type="text"
解决了我的问题。