JavaScript模型表单验证

时间:2014-04-16 07:06:06

标签: javascript jquery validation backbone.js

我正在使用BackboneJS MVC模式,并且有一个包含2个字段的表单,用户可以选择。

只要用户选择有任何变化(调用验证),我就会调用changeAction;

changeAction: function (event) {
    var self = this;
    var target = event.target;

    target.value = $.trim(target.value);
    change[target.name] = target.value;
    this.model.set(change);

    var check = self.model.validateItem(target.id);
    if (check.isValid === false) {
        self.addValidationError(target.id, check.message);
    } else {
        self.removeValidationError(target.id);
    }
}

我的验证在模型中定义如下;

this.validators.myDropDownField = function(value) {
    return !_.isUndefined(value) && !_.isNull(value) && $.trim(value).length > 0 ? {
        isValid: true
    } : {
        isValid: false,
        message: "Select dropdown field"
    };
};

validateItem: function(key) {
    var result = (this.validators[key]) ? this.validators[key](this.get(key)) : {
        isValid: true
    };
    return result;
}

现在我的问题是我不想在changeAction中对模型做任何事情。 但是,如果我删除this.model.set(change)

中的行changeAction()

验证无法正常运行。我没有得到函数中的值

  

this.validators.myDropDownField

我该如何处理?

0 个答案:

没有答案