问题
i want to validate my form with jquery validate but i want to put my error label to a specific place. an example below show error label put in the <span class="error_label"></span>
. my question is how can i make errorplacement with a specific place, with an example below, please help me..thanks?
<script>
$(document).ready(function (){
$("#fm_regis").validate({
rules :{
name: {
required: true,
},
},
errorPlacement: function(error, element) {
//$(element).next('span .error_label :first').html(error);
//$('.error_label').html(error);
//$('.error_label').html(error);
$(element).closest('.error_label').html(error);
},
messages: {
name: {
required: "Please input a username",
},
}
});
});
</script>
<form name="fm_regis" id="fm_regis">
<table>
<tr>
<td width="100">Nama</td>
<td>:</td>
<td><input type="text" name="name" id="name" size="30"/></td>
</tr>
<tr>
<td width="100"></td>
<td></td>
<td><span class="error_label"></span></td>
</tr>
</table>
<input type="submit" value="Register"/>
</form>
回答1:
In your specific situation you can do something like this:
$(element).closest('tr').next().find('.error_label').html(error);
http://jsfiddle.net/kqTQu/
回答2:
Try this:
$("#fm_regis").validate({
rules :{
name: {
required: true,
},
},
errorLabelContainer: "#id-of-your-specific-place",
// More of your code
})
And get rid of the errorPlacement:
function.
回答3:
Not sure if I have understood the question correctly, try to change this line
$(element).closest('.error_label').html(error);
to
$(element).append( "<span class="error_label">" + error + "</span>") ;
make sure that you remove all error labels before initiating validation
来源:https://stackoverflow.com/questions/16099530/jquery-validate-errorplacement-with-a-specific-place