2013-07-26 69 views
0

我如何實現Canjs的驗證?我遇到了一些麻煩。在他們的指導頁面上,他們這樣做:Canjs驗證

Contact = can.Observe({ 
init : function(){ 
    // validates that birthday is in the future 
    this.validate("birthday",function(birthday){ 
     if(birthday > new Date){ 
      return "your birthday needs to be in the past" 
     } 
    }) 
} 
},{}); 

但是,當我嘗試這個,我沒有任何成功。

回答

2

它應該工作。你只需要在你的觀察實例(Fiddle)檢索使用.errors()驗證錯誤:

var Contact = can.Observe({ 
init : function(){ 
    // validates that birthday is in the future 
    this.validate("birthday",function(birthday){ 
     if(birthday > new Date){ 
      return "your birthday needs to be in the past" 
     } 
    }) 
} 
},{}); 

var dave = new Contact({ 
    name: 'Dave', 
    birthday: new Date(2024, 05, 05) 
}); 

console.log(dave.errors()); 

你可以找到在can.Map.validations documentation全面演練。

+0

請參閱CanJS新版本中的[can.Map](http://canjs.com/docs/can.Map.validations.html)。 – Radek

+0

小提琴不再適用...很多連接到CanJS外部資源的鏈接。 –

+0

已修復。再次吸取教訓:切勿直接鏈接到/ latest。 – Daff