我在ASP.NET MVC4中使用jQuery unobtrusive验证来验证输入只包含数字:
HTML
<input class="form-control"
data-val="true"
data-val-digits="This field may only contain digits."
data-val-range="This field must be between 0 and 25."
data-val-range-max="25"
data-val-range-min="0"
data-val-required="This field is required."
id="DaysHoliday"
name="DaysHoliday"
type="number"
value="">
当我在输入中输入“3.5”时,我正确地得到验证消息“此字段可能只包含数字。”
当我在输入中输入“foo”时,我希望看到数字验证消息,但实际上我得到了所需的验证消息“此字段是必需的。”
为什么显示错误信息?
答案 0 :(得分:1)
这是一个适用于Safari,Firefox和Chrome的演示版,但不适用于资源管理器10:http://jsfiddle.net/e0uz8nrs/
您的问题似乎是特定于浏览器的,并且是由该字段的type="number"
指定引起的。它根本无法将文本字符识别为任何内容,因此您将获得与空字段相同的消息。
您可以将字段更改为type="text"
,它的行为会更像您期望的那样。我不相信还有其他解决办法。