不要在Spring上验证输入数字HTML(appfuse)

时间:2016-04-20 10:33:29

标签: jquery validation spring-mvc input appfuse

我有一个输入:

<form:input id="appetizerQuantity"  type="number" path="appetizerQuantity" max='999'  pattern="\d*" autocomplete="off" oncopy="return false;" onpaste="return false;" oncut="return false;"/>

我只想从-99到999

导入

但我可以进入 - 00,-.01,1e10或-.-, - .. ,.而且我不想那样。

我已将其验证为:

$('#appetizerQuantity').keypress(function (event) {
        console.log(event.which);
        console.log($('#appetizerQuantity').val().length);
         if($(this).val().length < 3) {
            return isNumber(event, this)
         } else{
             return false;
         }
     });

$("#appetizerQuantity").keydown(function (e) {
            // Allow: backspace, delete, tab, escape, enter and .
            if($(this).val().length < 4) {
                if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
                     // Allow: Ctrl+A
                    (e.keyCode == 65 && e.ctrlKey === true) ||
                    // Allow: Ctrl+C
                    (e.keyCode == 67 && e.ctrlKey === true) ||
                    // Allow: Ctrl+X
                    (e.keyCode == 88 && e.ctrlKey === true) ||
                    // Allow: home, end, left, right
                    (e.keyCode >= 35 && e.keyCode <= 39)) {
                     // let it happen, don't do anything
                    return;
                }
            }
        });
请帮助我的人。

注意:我使用项目使用appfuse(spring + hybernate)。

感谢每个人都能提供帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用step属性来限制小数位的使用。有关详细信息,请参阅https://stackoverflow.com/a/19012837

答案 1 :(得分:0)

谢谢Matt Raible,我修好了!  我在IOS设备上将输入的type =“number”改为“text”,在Android上改为“tel”。  我使用了jquery.numeric.min.js库并添加了函数:

$('#appetizerQuantity').numeric({decimal: false, negative: false },
function(){$(this).focus(); this.value = "";});

它有效