Skip to content

Commit bbfb9d5

Browse files
Kai Dorschnercrissdev
Kai Dorschner
authored andcommitted
Fix #598 - required rule does not validate properly for boolean values
Closes #600
1 parent 6e8a6e7 commit bbfb9d5

8 files changed

+12
-7
lines changed

dist/knockout.validation-with-locales.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ kv.rules['required'] = {
740740
validator: function (val, required) {
741741
var testVal;
742742

743-
if (val === undefined || val === null) {
743+
if (val === undefined || val === null || val === false) {
744744
return !required;
745745
}
746746

dist/knockout.validation-with-locales.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/knockout.validation-with-locales.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/knockout.validation.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ kv.rules['required'] = {
740740
validator: function (val, required) {
741741
var testVal;
742742

743-
if (val === undefined || val === null) {
743+
if (val === undefined || val === null || val === false) {
744744
return !required;
745745
}
746746

dist/knockout.validation.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/knockout.validation.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rules.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ko.validation.rules['required'] = {
2424
validator: function (val, required) {
2525
var testVal;
2626

27-
if (val === undefined || val === null) {
27+
if (val === undefined || val === null || val === false) {
2828
return !required;
2929
}
3030

test/rules-tests.js

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ QUnit.test('Object is NOT Valid and isValid returns False', function(assert) {
1616
assert.violatesRequiredRule(testObj, '');
1717
});
1818

19+
QUnit.test('Issue #598 - "false" is NOT valid and isValid returns false', function(assert) {
20+
var testObj = ko.observable(false).extend({ required: true });
21+
assert.violatesRequiredRule(testObj, false);
22+
});
23+
1924
QUnit.test('Zero is a valid value for required', function(assert) {
2025
var testObj = ko.observable(0).extend({ required: true });
2126
assert.observableIsValid(testObj, 0);

0 commit comments

Comments
 (0)