第一次嘗試
試圖讓Backbone.Validation plugin正常工作。我宣佈我要驗證的屬性...骨幹驗證插件始終驗證爲真
class window.Models.SearchQuery extends Backbone.Model
defaults:
city: ''
keywords: ''
lat: ''
long: ''
location: ''
performed_at: ''
region: ''
validation:
keywords:
required: true
pattern: 'number'
location:
required: true
pattern: 'number'
(我已經設置位置爲數字只是用於測試) 然後在Chrome瀏覽器開發工具...
s = new Meg.Models.SearchQuery({validate:true})
s.set({'location': ''})
s.isValid()
// true
它總是通過驗證..
第二次嘗試
在驗證混合成模型,WI其他一切都一樣(如上)。
class App.Routers.AppRouter extends Backbone.Router
initialize: ->
_.extend(Backbone.Model.prototype, Backbone.Validation.mixin)
s = new App.Models.SearchQuery({validate:true})
//returns object..
m.set({'location': 'ewf3ef3ref3rf'})
//returns object with changed attrs
m.isValid('location')
//TypeError: Cannot call method 'call' of undefined