From 4a40fdbf647f5980e9d9417678126ba77a786b6b Mon Sep 17 00:00:00 2001 From: Brahim Arkni Date: Tue, 19 Jun 2018 00:05:48 +0100 Subject: [PATCH 1/2] Test: Cast empty data attributes to 'true' --- test/index.html | 4 +++- test/rules.js | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/test/index.html b/test/index.html index 0079aa7d9..d02732856 100644 --- a/test/index.html +++ b/test/index.html @@ -277,7 +277,9 @@

- + + +
diff --git a/test/rules.js b/test/rules.js index 1be57bf49..178f810b2 100644 --- a/test/rules.js +++ b/test/rules.js @@ -157,7 +157,7 @@ QUnit.test( "rules(), class and attribute combinations", function( assert ) { $( "#v2" ).validate( { rules: { - "v2-i7": { + "v2-i9": { required: true, minlength: 2, customMethod: true @@ -173,8 +173,10 @@ QUnit.test( "rules(), class and attribute combinations", function( assert ) { jQuery.validator.autoCreateRanges = true; assert.deepEqual( $( "#v2-i5" ).rules(), { required: true, customMethod1: "123", rangelength: [ 2, 5 ] } ); assert.deepEqual( $( "#v2-i6" ).rules(), { required: true, customMethod2: true, rangelength: [ 2, 5 ] } ); + assert.deepEqual( $( "#v2-i7" ).rules(), { required: true, number: true } ); + assert.deepEqual( $( "#v2-i8" ).rules(), { required: true, number: true } ); jQuery.validator.autoCreateRanges = false; - assert.deepEqual( $( "#v2-i7" ).rules(), { required: true, minlength: 2, customMethod: true } ); + assert.deepEqual( $( "#v2-i9" ).rules(), { required: true, minlength: 2, customMethod: true } ); delete $.validator.methods.customMethod1; delete $.validator.messages.customMethod1; From 411fd42eed0fab0140badf769dfa5257bbd5a3d0 Mon Sep 17 00:00:00 2001 From: Brahim Arkni Date: Tue, 19 Jun 2018 00:09:34 +0100 Subject: [PATCH 2/2] Core: Cast empty data attributes to 'true' Fixes #1754 --- src/core.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core.js b/src/core.js index 93fe25568..b32519893 100644 --- a/src/core.js +++ b/src/core.js @@ -1248,6 +1248,12 @@ $.extend( $.validator, { for ( method in $.validator.methods ) { value = $element.data( "rule" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() ); + + // Cast empty attributes like `data-rule-required` to `true` + if ( value === "" ) { + value = true; + } + this.normalizeAttributeRule( rules, type, method, value ); } return rules; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy