Skip to content

Commit dd187b0

Browse files
authored
1 parent 2dfd33c commit dd187b0

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/core.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,15 @@ $.extend( $.fn, {
125125
// https://jqueryvalidation.org/rules/
126126
rules: function( command, argument ) {
127127
var element = this[ 0 ],
128+
isContentEditable = typeof this.attr( "contenteditable" ) !== "undefined" && this.attr( "contenteditable" ) !== "false",
128129
settings, staticRules, existingRules, data, param, filtered;
129130

130131
// If nothing is selected, return empty object; can't chain anyway
131132
if ( element == null ) {
132133
return;
133134
}
134135

135-
if ( !element.form && element.isContentEditable ) {
136+
if ( !element.form && isContentEditable ) {
136137
element.form = this.closest( "form" )[ 0 ];
137138
element.name = this.attr( "name" );
138139
}
@@ -393,9 +394,10 @@ $.extend( $.validator, {
393394
} );
394395

395396
function delegate( event ) {
397+
var isContentEditable = typeof $( this ).attr( "contenteditable" ) !== "undefined" && $( this ).attr( "contenteditable" ) !== "false";
396398

397399
// Set form expando on contenteditable
398-
if ( !this.form && this.isContentEditable ) {
400+
if ( !this.form && isContentEditable ) {
399401
this.form = $( this ).closest( "form" )[ 0 ];
400402
this.name = $( this ).attr( "name" );
401403
}
@@ -629,12 +631,14 @@ $.extend( $.validator, {
629631
.not( this.settings.ignore )
630632
.filter( function() {
631633
var name = this.name || $( this ).attr( "name" ); // For contenteditable
634+
var isContentEditable = typeof $( this ).attr( "contenteditable" ) !== "undefined" && $( this ).attr( "contenteditable" ) !== "false";
635+
632636
if ( !name && validator.settings.debug && window.console ) {
633637
console.error( "%o has no name assigned", this );
634638
}
635639

636640
// Set form expando on contenteditable
637-
if ( this.isContentEditable ) {
641+
if ( isContentEditable ) {
638642
this.form = $( this ).closest( "form" )[ 0 ];
639643
this.name = name;
640644
}
@@ -689,6 +693,7 @@ $.extend( $.validator, {
689693
elementValue: function( element ) {
690694
var $element = $( element ),
691695
type = element.type,
696+
isContentEditable = typeof $element.attr( "contenteditable" ) !== "undefined" && $element.attr( "contenteditable" ) !== "false",
692697
val, idx;
693698

694699
if ( type === "radio" || type === "checkbox" ) {
@@ -697,7 +702,7 @@ $.extend( $.validator, {
697702
return element.validity.badInput ? "NaN" : $element.val();
698703
}
699704

700-
if ( element.isContentEditable ) {
705+
if ( isContentEditable ) {
701706
val = $element.text();
702707
} else {
703708
val = $element.val();

0 commit comments

Comments
 (0)