我使用jquery验证,并且有一个“数字”输入框,设置了step = 10,即使应该允许用户手动设置一个非10倍的值(例如23):
<input name="myNumber" type="number" step=10 min=0>
换句话说,我喜欢Chrome和Firefox旋转(向上和向下箭头)来逐步增加数字,因为这可以增加用户的体验,但是我不喜欢browser / jquery。如果我手动设置了值不是“步长”的倍数(请参见下图和fiddle here)。
有没有办法让输入旋转步长同时放松输入约束,使其成为“步长”的倍数?
例如(尝试fiddle):
<input name="myNumber" type="number" step=10 min=0>
和
this.$form.validate({
rules: {
"myNumber": {
required: true
step: "relax" // <<== example
}
}
});
答案 0 :(得分:2)
jQuery Validate插件基于step
的内联HTML属性设置其step="10"
规则参数。
如果您不希望验证规则使用HTML中的参数,只需设置自己的参数即可。
rules: {
"myNumber": {
required: true,
step: "1" // <- this will over-ride parameter from HTML attribute
}
}
所有输入值均有效,但向上/向下箭头将以10为增量移动