いくつかの条件に基づいて表示されるフィールドを含むフォームがあります (ここでは関係ありません)。何が起こるかというと、可視性に基づいてフィールドを検証したいということです。
これまでのところ、ルール (required など) を変更または無効にすることはできませんでした。
次に例を示します。
<form>
<input type='text' data-bind='{value : name}' />
<span class='errorMsg' data-bind='validationMessage: name'></span>
<input type='text' data-bind='{value : email, visible: isEmailVisible}' />
<span class='errorMsg' data-bind='validationMessage: email'></span>
<input type='checkbox' value='true' text='Receive an email' />
<input type='submit' value='Send' />
</form>
私のjsには、フォームのフィールドの可視性を制御するための観察可能なプロパティを持つビューモデルがあります。チェックボックスがオンの場合、メール入力が表示され、必須になります。ただし、チェックされていない場合、検証ルールは空の電子メール入力を許可する必要があります。
私のビューモデルでは、次のようなものがあります
self.email = ko.observable().extend({ required : {message : 'Should not be empty'}});
問題は、検証ルールを変更または削除する方法です。
ありがとう