0

我想在模糊事件中验证一些表单字段。我怎么能用Backbone.Form做到这一点?

4

2 回答 2

2

我找到了。可能对其他人有用。

var oldText= Backbone.Form.editors.Text;
var newText= oldText.extend({
    initialize: function(options) {
        oldText.prototype.initialize.call(this,options);
        this.on("blur",function(){
            this.form.fields[this.options.key].validate();
        });
    }         
});
Backbone.Form.editors.Text=newText; 

此代码更改基本文本编辑器,所有 input[type="text"] 和其他扩展字段将在 blur 事件上验证。

如果您想创建一个“模糊验证字段”。您可以创建新的编辑器。

Backbone.Form.editors.BlurText=  Backbone.Form.editors.Text.extend({
    initialize: function(options) {
        Backbone.Form.editors.Text.prototype.initialize.call(this,options);
        this.on("blur",function(){
            this.form.fields[this.options.key].validate();
        });
    }         
});

现在您可以在架构中使用它:

var User = Backbone.Model.extend({
    schema: { 
        username: {
            type:'BlurText',
            validators: ['required']
        }
    }
});
于 2012-11-20T10:37:45.793 回答
1

你应该能够做到这一点:

form.on('password:blur', function() { 
    form.fields.password.validate();
});
于 2012-11-20T11:00:24.680 回答