Validate Sum-Of-Multiple
JQuery Validate Validate the sum of multiple inputs is over a certain amount
by Robert Dodd
HTML
<script src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<form id="search-form" >
<div class="passengers-container">
<span>
<select id="adults" name="adults" class="passengers">
<option value="0" disabled selected style='display:none;'>Adults</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</span>
<span>
<select id="children" name="children" class="passengers">
<option value="0" disabled selected style='display:none;'>Children</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</span>
</div>
<hr>
<input type="submit" value="Search" id="submitbutton" /><br/>
</form>
<script src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>
CSS
.gmap {
width:100%;
height:250px;
border: 1px solid #4D2722;
}
.border_box {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
}
JavaScript
function initialize() {
$.validator.addMethod(
"minSum",
function (value, element, params) {
var sumOfVals = 0;
$("select.passengers").each(function () {
val = parseInt($(this).val(), 10);
if (!val) val = 0;
sumOfVals = sumOfVals + val;
});
if (sumOfVals >= params) return true;
return false;
},
jQuery.format("Sum must be at least {0}")
);
$("#search-form").validate({
rules: {
},
submitHandler: function(form) {
alert('YEAH');
return false;
},
groups: {
passengers: "adults children"
},
errorPlacement: function(error, element) {
if ($(element).hasClass("passengers"))
error.insertAfter("#children");
else
error.insertAfter(element);
}
});
$(".passengers").rules('add', {minSum: 1});
}
$(function(){
initialize();
});