Browse Source

#4163 #4164 More general fix that properly escapes string values for selectors

pull/5058/merge
Jack Lukic 8 years ago
parent
commit
6f19675c52
1 changed files with 11 additions and 8 deletions
  1. 19
      src/definitions/behaviors/form.js

19
src/definitions/behaviors/form.js

@ -263,12 +263,6 @@ $.fn.form = function(parameters) {
}
});
return allValid;
},
validHTMLID(value) {
if(typeof value !== 'string') {
return false;
}
return value.search(regExp.htmlID) !== -1;
}
},
@ -485,7 +479,8 @@ $.fn.form = function(parameters) {
},
field: function(identifier) {
module.verbose('Finding field with identifier', identifier);
if(module.is.validHTMLID(identifier) && $field.filter('#' + identifier).length > 0 ) {
identifier = module.escape.string(identifier);
if($field.filter('#' + identifier).length > 0 ) {
return $field.filter('#' + identifier);
}
else if( $field.filter('[name="' + identifier +'"]').length > 0 ) {
@ -600,10 +595,11 @@ $.fn.form = function(parameters) {
field: function(identifier) {
module.verbose('Checking for existence of a field with identifier', identifier);
identifier = module.escape.regExp(identifier);
if(typeof identifier !== 'string') {
module.error(error.identifier, identifier);
}
if(module.is.validHTMLID(identifier) && $field.filter('#' + identifier).length > 0 ) {
if($field.filter('#' + identifier).length > 0 ) {
return true;
}
else if( $field.filter('[name="' + identifier +'"]').length > 0 ) {
@ -617,6 +613,13 @@ $.fn.form = function(parameters) {
},
escape: {
string: function(text) {
text = String(text);
return text.replace(regExp.escape, '\\$&');
}
},
add: {
prompt: function(identifier, errors) {
var

Loading…
Cancel
Save