I have been having problems with using the jquery validation plugin (http://jqueryvalidation.org) with jquery ui dialog. I have read in here: jQuery UI Dialog validation without using <form> tags but the suggested ones does not still work.
below is my jQuery:
$( '#addModal' ).dialog({
autoOpen: false,
modal: true,
buttons: {
'Create': function() {
$( '#addForm' ).validate({
rules: {
titleAdd: { required: true },
descriptionAdd: { required: true }
},
submitHandler: function( form ) {
$( this ).dialog( 'close' );
// ... AJAX call
} //end submitHandler
}); //end validate()
},
Cancel: function() {
$( this ).dialog( 'close' );
}
} //end buttons
}); //end Create Form Modal
below is the HTML:
<div id="addModal" title="Add new Appointment">
<form name="addForm" id="addForm" action="" method="POST" accept-charset="utf-8">
<div class="row">
<div class="form-group col-md-12">
<label for="title">Appointment Title</label>
<input type="text" id="titleAdd" class="form-control" name="title" />
</div>
</div>
<div class="row">
<div class="form-group col-md-12">
<label for="description">Description</label>
<textarea id="descriptionAdd" name="description" cols="20" rows="4" class="form-control"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-2">
<input type="submit" name="save" value="Save" class="form-control btn btn-default btn-primary" tabindex="-1" style="position:absolute; top:-1000px">
</div>
</div>
<input type="hidden" id="id" name="id" />
</form>
I have even tried the suggested: https://stackoverflow.com/a/2142126
and even this: https://stackoverflow.com/a/7390327 also tried this: https://stackoverflow.com/a/18721278 still does not work.
It seems i solved my own issue.
I moved the validate() outside of the dialog and changed the rules.
I was using id
earlier for rules, never knew it should be the input name
$('#addForm').validate({
rules: {
title: { required: true },
description: { required: true }
}
});
$( '#addModal' ).dialog({
autoOpen: false,
modal: true,
buttons: {
'Create': function() {
if ( $( '#addForm' ).valid() ) {
$( this ).dialog( 'close' );
// ... AJAX call
} //end if
},
Cancel: function() {
$( this ).dialog( 'close' );
}
} //end buttons
}); //end Create Form Modal
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With