使用dockyard/ember-validations设置验证规则的默认方式如下。

var Controller = Em.Controller.extend(

{

validations:  {
'model.firstName':
  {presence:
    {message: 'First Name is a required field.'}
  },
'model.lastName':
  {presence:
    {message: 'Last Name is a required field.'}
  }
},

..

}


但是我想根据条件选择这个验证对象,我选择了如下的函数属性。

var Controller = Em.Controller.extend(

{

validations: function() {
if(somecondition)
{
return{ 'model.firstName':
  {presence:
    {message: 'First Name is a required field.'}
  },
'model.lastName':
  {presence:
    {message: 'Last Name is a required field.'}
  }
}
else
{..}
 }

 }.property(),

..

}


但是当我将其转换为函数时,ember-validations库无法按预期工作。我该如何缓解这种情况?

最佳答案

我建议您看一下ember-cp-validations,它提供了扩展的验证选项。

09-17 15:44