J'ai référé les documents & débordement de pile pour ce problème où j'ai trouvé quelques solutions & même j'ai essayé de manipuler en conséquence, mais ceux-ci travaillent pour moi. Donc finalement j'ai posté ceci ici.
Lorsque je clique soumettre son directement aller submitHandler & pas valider avec respectivement la méthode personnalisée définie select_not_default & i essayé de mettre une alerte dans cette méthode personnalisée, mais il n'appelle pas comme ça signifie quelque chose de mal avec la coutume méthode ou jquery, y compris l'ordre ou la version jquery j'utilise.
S'il vous plaît aidez-moi à trouver où je me trompe. tellement confus des deux derniers jours.
C'est l'ordre que j'ai inclus les plug-ins de validation jquery &:
<script type="text/javascript" src="http://192.168.1.8/cruise_booking/application/assets/js/lib/jquery-1.11.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/additional-methods.js"></script>
est en dessous du formulaire HTML:
<form action="http://192.168.1.8/cruise_booking/booking/availability" method="post" id="availability_form">
<!-- SIDEBAR AVAILBBILITY -->
<div class="reservation-sidebar_availability bg-gray">
<!-- HEADING -->
<h2 class="reservation-heading">YOUR RESERVATION</h2>
<!-- END/HEADING -->
<select class="awe-select" name="source" id="source">
<option value="0">Source</option>
<option value="1">Goa</option>
<option value="3">Mumbai</option>
</select>
<select class="awe-select" name="destination" id="destination">
<option value="0">Destination</option>
<option value="2">Goa</option>
<option value="4">Mumbai</option>
</select>
<select class="awe-select" name="month" id="month">
<option value="0">Month</option>
<option value="Oct/2017">Oct/2017</option>
<option value="Nov/2017">Nov/2017</option>
</select>
<dddc id="date_dd_container">
<select class="awe-select" name="date" id="date">
<option value="0">Dates</option>
<option value="1">2017-10-12 09:30:00</option>
</select>
</dddc>
<select class="awe-select" name="adults" id="adults">
<option value="0">Adults</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select class="awe-select" name="children" id="children">
<option value="0">Children</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select class="awe-select" name="infants" id="infants">
<option value="0">Infants</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div class="vailability-submit">
<input type="submit" name="search_btn" class="awe-btn awe-btn-13" value="Search">
</div>
</div>
<!-- END/SIDEBAR AVAILBBILITY -->
</form>
est sous le code pour valider le formulaire.
$.validator.addMethod("select_not_default", function(value, element) {
var d = parseInt(value);
alert(d);
if(d == 0)
{
return false;
}
else
return true;
});
$("#availability_form").validate({
rules: {
source: {
required: true,
select_not_default: true
},
destination: {
required: true,
select_not_default: true
},
month: {
required: true,
select_not_default: true
},
date: {
required: true,
select_not_default: true
}
},
messages: {
source: {
required: "This field is required",
select_not_default: "Choose any other value than default one."
},
destination: {
required: "This field is required",
select_not_default: "Choose any other value than default one."
},
month: {
required: "This field is required",
select_not_default: "Choose any other value than default one."
},
date: {
required: "This field is required",
select_not_default: "Choose any other value than default one."
}
},
submitHandler: function(form) {
alert("hi");
form.submit();
}
});