すべての検証を備えた複数のフォームを持つ 1 つの VM があります。複数のフォームをサポートするには、ノックアウト オプションの検証を実装する必要があると思います。私のフォームには多くの検証があります。maxLength
、minlength
、required
および 1 つのカスタム検証のように。
検証は次のようになります
@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()
しかし、それは に対してのみ機能しrequired
ます。私もそれが欲しいminLength
ですcustom validator
。どうやってするか ?