Javascript 使用最大大小和自定义验证器进行淘汰可选验证?
我有一个VM,它有多个表单,所有表单都经过验证。为了支持多个表单,我想我必须实现淘汰可选验证。 我的表单中有许多验证。如Javascript 使用最大大小和自定义验证器进行淘汰可选验证?,javascript,jquery,validation,knockout.js,Javascript,Jquery,Validation,Knockout.js,我有一个VM,它有多个表单,所有表单都经过验证。为了支持多个表单,我想我必须实现淘汰可选验证。 我的表单中有许多验证。如maxLength,minlength,必需和一个自定义验证 验证如下所示 @password = ko.observable("").extend({ required: true, minLength: 5}) @current_password = ko.observable().extend({ validation: { validator: @mustE
maxLength
,minlength
,必需
和一个自定义验证
验证如下所示
@password = ko.observable("").extend({ required: true, minLength: 5})
@current_password = ko.observable().extend({
validation: { validator: @mustEqual, message: 'Passwords do not match.', params: @password }
})
现在,为了使上述验证成为可选的isLoggedIn
,我使用
@password = ko.observable().extend
required:
onlyIf: () =>
!@isLoggedIn()
但它只适用于
必需的
。我还希望它用于minLength
和自定义验证器
。如何做到这一点?只有当可以与所有验证器一起使用时,像这样(fiddle,来自github示例的fork:):
来自验证源的示例:
条件验证文档:
也许我们应该和其中一位维护人员谈谈,在手册中更清楚地说明这一点,或者在本页中添加一些带有onlyf的示例
self.testField = ko.observable(5).extend({
max:{
onlyIf:function() { return self.country() === 'US'},
params:5
}
});