2013-05-29 125 views
0
function ProductViewModel() 
{ 
var self = this; 

self.Amount= ko.observable(0); 

self.Quantity= ko.observable(0); 
} 

ko.extenders.numeric = function(target, precision) { 
var result = ko.computed({ 
    read: target, 
    write: function(newValue) { 
     var value = parseFloat(newValue,10); 
     if(precision > 0){ 
     target(value.toFixed(precision)); 
     } 
     else{ 
     target(Math.round(value)); 
     } 
    } 
}); 

result(target()); 

return result; 
}; 

ko.applyBindings(new ProductViewModel()); 

現在我想在聲明的時間添加擴展後可觀察到的動態是不是創造出來的? 我也從服務器獲取數據,並轉換爲觀察使用ko.mapping.fromJS(數據),之後,我想添加擴展...所以引導我的傢伙....淘汰賽驗證Issuue

回答

0

問題是您定義的擴展不工作?它看起來像你缺少ko.validation.registerExtenders();

打電話把上面一行調用之前applyBindings

+0

對不起,我不知道怎麼ko.validation.registerExtenders **()**的事情works.Can你的建議什麼? –

+0

只需將該行添加到您的js下,即可在其中定義規則 –

+0

如果我需要任何幫助,我將使用此操作並保持u張貼。謝謝tom。 –