Skip to content

Commit 8e0846e

Browse files
timlarson345crissdev
authored andcommitted
Allow validation params in object without custom message and without onlyIf
Closes #554 Closes #561
1 parent e0b8985 commit 8e0846e

8 files changed

Lines changed: 21 additions & 7 deletions

dist/knockout.validation-with-locales.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,8 @@ kv.configuration = configuration;
524524
// }
525525
// )};
526526
//
527-
if (params && (params.message || params.onlyIf)) { //if it has a message or condition object, then its an object literal to use
527+
//if it has an embedded params, a message or condition object, then it's an object literal to use
528+
if (params && (params.params || params.message || params.onlyIf)) {
528529
return kv.addRule(observable, {
529530
rule: ruleName,
530531
message: params.message,

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/knockout.validation.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,8 @@ kv.configuration = configuration;
524524
// }
525525
// )};
526526
//
527-
if (params && (params.message || params.onlyIf)) { //if it has a message or condition object, then its an object literal to use
527+
//if it has an embedded params, a message or condition object, then it's an object literal to use
528+
if (params && (params.params || params.message || params.onlyIf)) {
528529
return kv.addRule(observable, {
529530
rule: ruleName,
530531
message: params.message,

dist/knockout.validation.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/knockout.validation.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/api.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,8 @@
326326
// }
327327
// )};
328328
//
329-
if (params && (params.message || params.onlyIf)) { //if it has a message or condition object, then its an object literal to use
329+
//if it has an embedded params, a message or condition object, then it's an object literal to use
330+
if (params && (params.params || params.message || params.onlyIf)) {
330331
return ko.validation.addRule(observable, {
331332
rule: ruleName,
332333
message: params.message,

test/validation-tests.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ QUnit.test('Custom Message Correctly appears', function(assert) {
7979
assert.observableIsNotValid(testObj, '', 'This Message is Special');
8080
});
8181

82+
QUnit.test('Allow validation params in object without custom message and without onlyIf', function(assert) {
83+
var testObj = ko.observable('something').extend({
84+
minLength: {
85+
params: 9
86+
// no custom message, no onlyIf
87+
}
88+
});
89+
testObj("short");
90+
assert.violatesMinLengthRule(testObj, "short", 9);
91+
});
92+
8293
//#endregion
8394

8495
//#region Anonymous Rule Validation

0 commit comments

Comments
 (0)