更好的方法在添加和编辑控制器之间使用相同的余烬验证规则



我正在使用Ember验证,在添加和编辑控制器之间使用相同验证规则的正确方法是什么?

这样做不是DRY的方式

App.UsersAddUserController.reopen(Ember.Validations.Mixin, {
    validations: {
        name: {
            presence: true,
            length: { minimum: 3 }
        },
        surname: {
            presence: true,
            length: { minimum: 3 }
        }
    },
});
App.UsersEditUserController.reopen(Ember.Validations.Mixin, {
    validations: {
        name: {
            presence: true,
            length: { minimum: 3 }
        },
        surname: {
            presence: true,
            length: { minimum: 3 }
        }
    },
});

或者

App.UsersEditUserController = App.UsersAddUserController.extend({})

或告诉路由使用哪个控制器

App.UsersEditUserRoute = Ember.Route.extend({
  controllerName: 'usersAddUser'
})

这样做:

App.UserValidations = {
  validations: {
    name: {
      presence: true,
      length: { minimum: 3 }
    },
    surname: {
      presence: true,
      length: { minimum: 3 }
    }
  }
}
App.UsersAddUserController.reopen(Ember.Validations.Mixin, App.UserValidations);
App.UsersEditUserController.reopen(Ember.Validations.Mixin, App.UserValidations);

最新更新