2014-06-09 55 views
0

我有一個簡單的挖空視圖模型,其中有乘客陣列。每名乘客都有名字,姓氏和號碼屬性。每位乘客的號碼字段不是強制性的,除非他們在模型的根部打勾。我不確定如何在用戶選擇包含數字文本框時對數字文本框執行驗證?希望很明顯,我的進展可以在下面的jsfiddle中找到。 謝謝!如何將挖空驗證添加到以前不需要的字段

代碼嘗試

self.number = ko.observable(false).extend('not sure how to '); 

http://jsfiddle.net/Cf8Ap/3/

UPDATE

曾嘗試以下。此嘗試看切換()值就知道是否需要的數量文本框 - 雖然沒有成功..

http://jsfiddle.net/Cf8Ap/4/

的更新包括以下變化

var Passenger = function() { 
    self.cardNumber = ko.observable().extend({required: {onlyIf: function() { 
     return $parent.toggle() === 'true'; 

回答

0

$父等是一個視圖唯一的功能,反正有很多在你的代碼在這裏的錯誤是一個工作版本

http://jsfiddle.net/Cf8Ap/7/

self.cardNumber = ko.observable().extend({ 
    required: { 
     message: 'number is required', 
     onlyIf: function() { 
      return self.showCardNumber(); 
     } 
    } 
}); 
+0

更新驗證庫到最新版本 – Anders

+0

感謝您的這一點。我試圖瞭解爲什麼showNumber需要可觀察和訂閱? –

+0

您需要將檢查綁定綁定到observable,並且您想要對值進行更改以切換您的可見性 – Anders

1

您可以提供條件驗證使用onlyIf

self.number = ko.observable(false).extend(required: { 
     onlyIf: function() { return (self.isChecked()); } 
    }); 

documentation

+0

謝謝,我有一點點但我仍然堅持,我更新了我的更新 –

+1

感謝您的幫助 –

相關問題