对空格进行jquery验证的问题

时间:2010-08-30 21:12:54

标签: jquery validation

我在使用jQuery和Validation插件验证表单上的条目时遇到问题。条目必须为零或正数。我用一种检测负数(或NaNs)的方法没有遇到任何问题,但我有任何方法可以检测空条目或只有空格的方法。

相关代码:

//WORKS
//require positive numbers/floats
$.validator.addMethod('requirePositiveNumber', function (value){
if ((isNaN(value)) || (value < 0) ){
    return false;
}else{
   return true;
}
     }, "Please enter a positive amount"
);

//DOES NOT WORK
//require no spaces
$.validator.addMethod("noSpace",function(value,element)
{
    return this.optional(element) || /^[.\d]+/i.test(value);
},"no spaces please");

//DOESNT WORK EITHER
$.validator.addMethod("noSpace", function(value, element){
        if (value.indexOf(" ") < 0 && value !=""){
            return true;
        }else{
            return false;
        }
    }, "please enter a positive amount"
    );

也没有测试空白。

1 个答案:

答案 0 :(得分:0)

假设“myform”是你的表格ID而“myfield”是你的字段名称,这应该可以解决问题:

“isPositiveNumber”jQuery验证器规则:

$.validator.addMethod("isPositiveNumber", function(value, element) {
    return this.optional(element) || /^[0-9.]+$/i.test(value);
}, "Please enter a positive amount");

验证脚本:

$("#myform").validate({
    rules: {
        myfield: { required: true, isPositiveNumber: true }
    },
    messages: {
        // Overwrite the default required message
        myfield: { required: 'Please enter a positive amount' }
    }
});

在字段上使用内置的required: true规则,将阻止字段验证字段是空的还是只是一堆空格。