0

我有一个Backbone.Forms编辑器,它是一个带有选项的选择true菜单false。当我将字符串值转换为布尔值并在getValue()方法验证中返回时失败。我猜是因为我们返回的是假的。此外,由于字符串值(因此是布尔值的原因),底层模型始终将属性设置为 true。

(function() {
    'use strict';
    Backbone.Form.editors.BooleanSelect = Backbone.Form.editors.Select.extend({
        initialize: function(options) {
            options.schema.options = [
                { val: 'true', label: 'Yes' },
                { val: 'false', label: 'No' }
            ];
            Backbone.Form.editors.Select.prototype.initialize.call(this, options);
        },
        getValue: function() {
            return this.$el.val() === 'true' ? true : false;
        },
        setValue: function(value) {
            this.$el.val(value);
        }
    });
})();
4

1 回答 1

0

您可以覆盖 validate() 方法(在 Backbone.Form.editors.Base 中定义),这应该可以修复它

于 2014-05-23T16:53:49.120 回答