我有一个表单,用户可以在其中更新自己的姓名和姓氏。我使用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>
感谢
答案 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
}
});
});
});