Ember Validations和Ember Easyform不会在提交时验证表单

时间:2013-10-30 16:33:30

标签: ember.js

正如我目前设置的那样,我的验证没有显示在ember easyForm表单上的提交中。 mixin的当前设置仅允许在输入的focusOut上显示验证。有人有解决方法吗?

1 个答案:

答案 0 :(得分:0)

easyForm在上下文中调用validate。

Ember.EasyForm.Form = Ember.EasyForm.BaseView.extend({
  // rest of the code removed for brevity
  submit: function(event) {
    var _this = this, promise;

    if (event) {
      event.preventDefault();
    }

    if (Ember.isNone(this.get('context.validate'))) {
      this.get('controller').send(this.action);
    } else {
      if (!Ember.isNone(this.get('context').validate)) {
        promise = this.get('context').validate();
      } else {
        promise = this.get('context.content').validate();
      }
      promise.then(function() {
        if (_this.get('context.isValid')) {
          _this.get('controller').send(_this.action);
        }
      });
    }
  }
});

您能否验证它是否正在调用模型的验证方法?如果情况不是这样的话,你是否可以在easyForm上提出一个bug,如果不是这样的话?

似乎没有在内容中调用validate,因为如果context.validate isNone

它会调用控制器