Skip to content

Commit 7153b7b

Browse files
committed
Merge pull request victorjonsson#17 from stevewasiura/patch-3
added feature to use checkbox to force a field to be validated
2 parents 767733e + 7ab5b44 commit 7153b7b

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

jquery.formvalidator.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,28 @@ jQueryFormUtils.validateInput = function(el, language, config, form) {
793793

794794
var value = el.val();
795795
var optional = el.attr("data-validation-optional");
796-
if ((value === null || value.length == 0) && optional === 'true') {
796+
797+
// test if a checkbox forces this element to be validated
798+
var validate_if_checked = 0; // set initial value false
799+
// get value of this element's attribute "... if-checked"
800+
var validate_if_checked_el_name = el.attr("data-validation-if-checked");
801+
// get the form closest to this element
802+
var thisform = el.closest("form");
803+
// make sure we can proceed
804+
if (validate_if_checked_el_name != null && thisform != null) {
805+
// select the checkbox type element in this form
806+
var validate_if_checked_el_obj = thisform.find('input[name="' + validate_if_checked_el_name + '"]');
807+
// test if it's property "checked" is checked
808+
if ( validate_if_checked_el_obj.prop('checked') )
809+
{ // set value for validation checkpoint
810+
validate_if_checked = 1;
811+
}
812+
} // end if depend_checked_el_name not null
813+
814+
815+
// validation checkpoint (added extra criteria depend_check)
816+
// if empty AND optional AND does not depend on a checkbox being checked, it is ok, return true
817+
if ((value === null || value.length == 0) && optional === 'true' && !validate_if_checked) {
797818
return true;
798819
}
799820

0 commit comments

Comments
 (0)