Skip to content

Commit b400d8e

Browse files
committed
victorjonsson#614 Fixed bug in $.fn.validate
1 parent d95a63f commit b400d8e

File tree

4 files changed

+35
-21
lines changed

4 files changed

+35
-21
lines changed

Gruntfile.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,6 @@ function initializeGruntConfig(grunt) {
9595
}
9696
},
9797

98-
// watch for changes to source
99-
// Better than calling grunt a million times
100-
// (call 'grunt watch')
10198
watch: {
10299
files: [SRC_DIR + '/**'],
103100
tasks: ['test'],
@@ -202,7 +199,8 @@ module.exports = function (grunt) {
202199
grunt.loadNpmTasks('grunt-umd');
203200

204201
grunt.registerTask("build-production", ["version", "test", "uglify"]);
205-
grunt.registerTask('test', ['concat', 'copy', 'umd', 'cssmin','jshint', 'qunit']);
202+
grunt.registerTask('build', ['concat', 'copy', 'umd', 'cssmin']);
203+
grunt.registerTask('test', ['build','jshint', 'qunit']);
206204
grunt.registerTask("default", ["test", "watch"]);
207205
grunt.registerTask("prepublish", ["test", "uglify"]);
208206
};

src/main/jquery-plugins.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@
137137
var language = $.extend({}, $.formUtils.LANG, lang || {});
138138
this.each(function() {
139139
var $elem = $(this),
140-
$closestForm = $elem.closest('form').get(0) || {},
141-
formDefaultConfig = $closestForm.validationConfig || {};
140+
closestFormElem = $elem.closest('form').get(0) || {},
141+
formDefaultConfig = closestFormElem.validationConfig || $.formUtils.defaultConfig();
142142

143143
$elem.one('validation', function(evt, isValid) {
144144
if ( typeof cb === 'function' ) {

src/main/utils.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@
128128
conf = conf || $.formUtils.defaultConfig();
129129
language = language || $.formUtils.LANG;
130130

131+
if (!$form.length) {
132+
$form = $elem.parent();
133+
}
134+
131135
var value = this.getValue($elem);
132136

133137
$elem
@@ -142,7 +146,6 @@
142146
})
143147
.trigger('beforeValidation', [value, language, conf]);
144148

145-
146149
var inputIsOptional = $elem.valAttr('optional') === 'true',
147150
skipBecauseItsEmpty = !value && inputIsOptional,
148151
validationRules = $elem.attr(conf.validationRuleAttribute),

test/qunit.html

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -167,20 +167,33 @@
167167

168168
});
169169

170-
/*
171-
* Test validation of hidden inputs
172-
*/
173-
test('Validation of hidden inputs', function(assert) {
174-
assert.expect(3);
175-
var $input = input('--', {'':'required alphanumeric'});
176-
equal(false, $input.closest('form').isValid({}, {}, false));
177-
$input.hide();
178-
equal(true, $input.closest('form').isValid({}, {}, false));
179-
$input.validate(function(valid) {
180-
assert.equal(false, valid);
181-
}, {validateHiddenInputs: true});
182-
183-
});
170+
/*
171+
* Test $.fn.validate
172+
*/
173+
test('Test $.fn.validate() ', function(assert) {
174+
clearForm();
175+
assert.expect(1);
176+
var $input = input('--', {'':'required alphanumeric'});
177+
$input.attr('id', 'some-input');
178+
$('#some-input').validate(function(valid, elem) {
179+
assert.equal(false, valid);
180+
});
181+
});
182+
183+
/*
184+
* Test validation of hidden inputs
185+
*/
186+
test('Validation of hidden inputs', function(assert) {
187+
clearForm();
188+
assert.expect(3);
189+
var $input = input('--', {'':'required alphanumeric'});
190+
assert.equal(false, $input.closest('form').isValid({}, {}, false));
191+
$input.hide();
192+
assert.equal(true, $input.closest('form').isValid({}, {}, false));
193+
$input.validate(function(valid) {
194+
assert.equal(false, valid);
195+
}, {validateHiddenInputs: true});
196+
});
184197

185198
/*
186199
* Test error message

0 commit comments

Comments
 (0)