Skip to content

Commit

Permalink
(yiisoft#13105) Add yiiActiveForm validate_only property for skipping…
Browse files Browse the repository at this point in the history
… form auto-submission

JS validation example:

form = $('#someForm');
form.data('yiiActiveForm').validate_only = true;
form.one('afterValidate', afterValidateEvent);
form.yiiActiveForm('validate', true); //run validation

function afterValidateEvent() {
    if ($('#someForm').find('.has-error').length) {
       // Validation failed
    }
     // Validation successed
}
  • Loading branch information
vlutsenko committed Nov 8, 2021
1 parent db8de0e commit 22d7c57
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions framework/assets/yii.activeForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@
attributes: attributes,
submitting: false,
validated: false,
validate_only: false, // validate without auto submitting
options: getFormOptions($form)
});

Expand Down Expand Up @@ -754,12 +755,14 @@
data.submitting = false;
} else {
data.validated = true;
if (data.submitObject) {
applyButtonOptions($form, data.submitObject);
}
$form.submit();
if (data.submitObject) {
restoreButtonOptions($form);
if (!data.validate_only) {
if (data.submitObject) {
applyButtonOptions($form, data.submitObject);
}
$form.submit();
if (data.submitObject) {
restoreButtonOptions($form);
}
}
}
} else {
Expand Down

0 comments on commit 22d7c57

Please sign in to comment.