我正在使用 Backbone 版本 0.9.2、
jquery 版本 1.7.2 和
Backbone.Validation v0.5.2。
我的 html 看起来像 (1)、backbone.view (2) 和backbone.model (3)。
看来我的实现不再起作用了。
当我单击提交按钮时,它会执行一个 POST 请求而不进行任何表单验证。
任何想法为什么以及如何解决这个问题?
请参阅我的代码中的注释。
谢谢。
(1)
<form method="POST" class="form1">
<div class="control-group">
<label for="reason" class="control-label">Reason</label>
<div class="controls">
<textarea id="reason" name="reason" required="required" /></textarea>
</div>
</div>
<!-- other codes -->
</form>
(2)
var myView = Backbone.View.extend({
initialize: function () {
this.model = new MyModel();
this.model.bind('validated:invalid', function(model, attrs) {
console.log('validated:invalid', model, attrs); // It does not work
});
this.model.bind('validated:valid', function(model) {
console.log('validated:valid', model); // It does not work
});
},
events: {
'click [data-tid="submit"]': 'submitForm'
},
submitForm: function (event) {
event.preventDefault();
this.model.set(data);
this.model.save({
success: function () {
// some code
}
});
}
(3)
var MyModel = Backbone.Model.extend({
urlRoot: 'someUrl',
validation: {
reason: {
required: true,
msg: 'Reason is required'
}
}
});