jquery表单验证不允许用户名字段的空间?

kn3*_*n3l 16 jquery

我使用过http://bassistance.de/jquery-plugins/jquery-plugin-validation/

我的表单验证:

$("#form_person").validate({
    rules: {


        username: {
            required: true,
            minlength: 2,
            maxlength:15
        },
        password: {
            required: true,
            minlength: 2
        },
        confirm_password: {
            required: true,
            minlength: 2,
            equalTo: "#password"
        },
        email: {
            required: true,
            email: true
        }

    },
    messages: {

        username: {
            required: "Please enter a username",
            maxlength:"max length 15 digits",
            minlength: "Your username must consist of at least 2 characters"
        },
        password: {
            required: "Please provide a password",
            minlength: "Your password must be at least 5 characters long"
        },
        confirm_password: {
            required: "Please provide a confirm password",
            minlength: "Your password must be at least 5 characters long",
            equalTo: "Please enter the same password as above"

    }
});
Run Code Online (Sandbox Code Playgroud)

有人帮我验证不允许用户名空间?

谢谢

Rei*_*gel 50

你可以尝试这样的事情:

$(document).ready(function(){

  jQuery.validator.addMethod("noSpace", function(value, element) { 
  return value.indexOf(" ") < 0 && value != ""; 
}, "No space please and don't leave it empty");


$("form").validate({
   rules: {
      name: {
          noSpace: true
      }
   }
  });


})
Run Code Online (Sandbox Code Playgroud)


这里有关于addMethod的快速演示
以及一个示例.

  • 但我正在使用"required:true",所以它显示"请输入一个值"msg而不是"请不要空格,不要留空"; (3认同)

小智 11

看看aditional方法,有一个nowhitespace规则.


Ard*_*oli 9

我使用了@Reigel的答案,但对我而言不起作用。

我已经改变了他的例子,像这样:

  $(document).ready(function(){

    jQuery.validator.addMethod("noSpace", function(value, element) { 
      return value == '' || value.trim().length != 0;  
    }, "No space please and don't leave it empty");


    $("form").validate({
       rules: {
          name: {
              noSpace: true
          }
       }
    });


  })
Run Code Online (Sandbox Code Playgroud)

我认为noSpace不负责验证空的TextBox(Input)。负责检查值是否输入了某些内容。

如果您jQuery.validator.addMethod...在其他JS文件中使用并将此JS文件添加到母版页或类似的东西,这将是一个好主意。