Skip to content

Commit

Permalink
Do not validate dynamically disabled inputs
Browse files Browse the repository at this point in the history
  • Loading branch information
tagliala committed May 1, 2020
1 parent ff2abef commit 42c6412
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -6,6 +6,7 @@
* [FEATURE] Do not require `jquery-rails` gem ([#785](https://github.com/DavyJonesLocker/client_side_validations/pull/785))
* [FEATURE] Add support for many association validations ([#783](https://github.com/DavyJonesLocker/client_side_validations/pull/783))
* [BUGFIX] Fix Rails generators ([#786](https://github.com/DavyJonesLocker/client_side_validations/pull/786))
* [BUGFIX] Do not validate dynamically disabled inputs ([#789](https://github.com/DavyJonesLocker/client_side_validations/pull/789))

## 16.2.0 / 2020-04-10

Expand Down
2 changes: 1 addition & 1 deletion dist/client-side-validations.esm.js
Expand Up @@ -720,7 +720,7 @@ var isMarkedForDestroy = function isMarkedForDestroy(element) {
};

var executeAllValidators = function executeAllValidators(element, validators) {
if (element.data('changed') === false) {
if (element.data('changed') === false || element.prop('disabled')) {
return;
}

Expand Down
2 changes: 1 addition & 1 deletion dist/client-side-validations.js
Expand Up @@ -726,7 +726,7 @@
};

var executeAllValidators = function executeAllValidators(element, validators) {
if (element.data('changed') === false) {
if (element.data('changed') === false || element.prop('disabled')) {
return;
}

Expand Down
2 changes: 1 addition & 1 deletion src/main.js
Expand Up @@ -180,7 +180,7 @@ const isMarkedForDestroy = (element) => {
}

const executeAllValidators = (element, validators) => {
if (element.data('changed') === false) {
if (element.data('changed') === false || element.prop('disabled')) {
return
}

Expand Down
4 changes: 3 additions & 1 deletion test/javascript/public/test/validateElement.js
Expand Up @@ -398,10 +398,11 @@ QUnit.test("Don't validate dynamically disabled inputs", function (assert) {
input_tag: '<div class="field_with_errors"><span id="input_tag"></span><label for="user_name" class="message"></label></div>',
label_tag: '<div class="field_with_errors"><label id="label_tag"></label></div>'
},
validators: { 'user_2[name]': { presence: { message: 'must be present' } } }
validators: { 'user_2[name]': { presence: [{ message: 'must be present' }] } }
}

$('#qunit-fixture')
.html('')
.append($('<form>', {
action: '/users',
'data-client-side-validations': JSON.stringify(dataCsv),
Expand All @@ -422,6 +423,7 @@ QUnit.test("Don't validate dynamically disabled inputs", function (assert) {
input.attr('disabled', 'disabled')
input.val('')
input.trigger('focusout')

assert.notOk(input.parent().hasClass('field_with_errors'))
})

Expand Down
2 changes: 1 addition & 1 deletion vendor/assets/javascripts/rails.validations.js
Expand Up @@ -726,7 +726,7 @@
};

var executeAllValidators = function executeAllValidators(element, validators) {
if (element.data('changed') === false) {
if (element.data('changed') === false || element.prop('disabled')) {
return;
}

Expand Down

0 comments on commit 42c6412

Please sign in to comment.