由于我已将 Backbone 从 0.9.2 升级到 0.9.9,因此出现了一些错误。
当我使用哈希默认值实例化一个新模型时。validate 方法被调用以验证这些值并且失败了。
基本上我想用新消息设置contactModel,但是这个消息应该不同于默认消息。这就是在此模型的实例中验证失败的原因。这在主干 0.9.2 中运行良好,因为在实例中没有调用验证方法。
有人可以解释这有什么问题吗?
这是我的 BackboneModel :
class ContactModel extends Backbone.Model
defaults :
message : 'Initial message'
validate : ( attrs_ ) =>
if attrs_.message.toString() is @.defaults.message.toString()
return 'Same message'
if attrs_.message.length < 55
return 'Your message is too short buddy'
sync : =>
#Custom Sync implementation
这是我的 BackboneView :
class ContactPageView extends AbstractView
id : 'contact-page'
template : null
model : null
events :
'keypress #contactTextArea' : 'onKeyPress'
'submit #contactForm' : 'submit'
init : ->
@model = new ContactModel()
console.log @model.get 'message'
#Print "undefined"
@model.bind "success", @success, this
@model.bind "error", @error, this
@template = _.template $( '#template_page_contact' ).html()