ビューモデルには、ko.observable
ダイアログ状態オブジェクトを格納するメンバーがあります。各ダイアログ オブジェクトには、ダイアログの入力フィールドに対応するあらゆる種類のメンバーがあります。KnockoutJS 検証プラグインを使用して、ダイアログに検証を追加したいと考えています。
ただし、ビュー モデル全体に検証を追加するのではなく、ダイアログだけに検証を追加したいと考えています。このようにダイアログを拡張しようとしたとき:
this.dialog = ko.observable(new RegistrationDialog(self)).extend({validatable: true});
正しく動作しませんでした: isValid() および errors() メソッドが定義されておらず、検証が正しく機能していませんでした。これを説明するためにjsfiddleを作成しました。スタート ボタンを押すと、ダイアログが開きます (CSS がないことを許してください) が、Enter キーを押してもエラー メッセージは生成されません。電子メールの検証も機能せず、「true は適切な電子メール アドレスではありません」というメッセージが表示されます。