jQuery Validation自定义验证不添加空间验证

时间:2011-11-12 01:47:58

标签: jquery jquery-validate

我有一个表单,用户可以在其中更新自己的姓名和姓氏。我使用jQuery验证来验证表单。如何验证用户是否放置空格?

这就是我所拥有的:

<script>
$(document).ready(function(){   
  $('#submit').click(function() {
  var valid = $("#myform").valid();
  if(!valid) {
    return false;
  }
  $.ajax({
    type: "POST",
    url: 'save',
    data:  $('#myform').serialize(),
    dataType: 'json',
    cache: false,
    success: function(result) {
      // redirect to another page
    }
  });
  });
  });
</script>

</head>
<body>


<form id="myform" method="post" action="">
<fieldset>
<legend>update name</legend>
<p>
 <label for="fname">Name</label>
 <em>*</em><input id="fname" name="fname" size="25" class="required" minlength="2" />
</p>
<p>
 <label for="lname">Last Name</label>
 <em>*</em><input id="lname" name="lname" size="25" class="required" minlength="2" />
</p>
<p>
 <input id="submit" type="submit" value="Submit"/>
</p>
</fieldset>
</form>

感谢

1 个答案:

答案 0 :(得分:31)

将此用于您的javascript代码:

$(document).ready(function() {

  jQuery.validator.addMethod("noSpace", function(value, element) { 
     return value.indexOf(" ") < 0 && value != ""; 
  }, "Space are not allowed");

  $("#myform").validate({
    errorLabelContainer: $("#error"),
    rules: {
      fname: { required: true, noSpace: true },
      lname: { required: true, noSpace: true }
    },
    messages: {
      fname: { required: 'Please enter your name' },
      lname : { required: "Please enter your last name" }
    }
  });

  $('#submit').click(function() {
    var valid = $("#myform").valid();
    if(!valid) {
      return false;
    }
    $.ajax({
      beforeSend: function() {
        // display loading message
      },
      type: "POST",
      url: 'save',
      data:  $('#formdata').serialize(),
      dataType: 'json',
      cache: false,
      success: function(result) {
        if(result.error) {
          // show error message
        }
        else {
          // redirect to another page
        }
      },
      error: function (response, desc, exception) {
        // show ajax error
      },
      complete: function() {
        // hide loading message
      }
    });
  });
});