我的视图模型中有以下使用淘汰赛验证的属性,其中之一是自定义验证以检查密码匹配。
model.Password = ko.observable()
.extend({ required: { message: "Password is required.",
params: true,
onlyIf: function () { return model.IsCredentialsRequired(); }}
});
model.ConfirmPassword = ko.observable().
extend({ validation: { validator: mustEqual,
message: 'Passwords do not match.',
params: model.Password,
onlyIf: function () { return model.IsCredentialsRequired(); } }
});
自定义验证功能的代码
var mustEqual = function (val, other) {
return val == other();
};
我发现该OnlyIf
条件适用于model.Password
取决于 model.IsCredentialsRequired()
但不适用于model.ConfirmPassword
,有人可以帮助我为什么会发生这种情况吗?有没有其他方法可以对自定义规则使用条件验证?
提前致谢