0

我有一个具有密码属性的模型。请求负载中的密码属性如下所示:

loginId: "yourId",
password: {password: yourpassword}

如何使用 Backbone.validation 对此进行验证?

我试图做:

validation: {
   loginId: {
       required: true,
       msg: 'Please Enter a Login ID.'
    },
   password: {
       required: true,
       msg: 'Please Enter a Password.' 
   }
}

但是,我的密码总是无法通过验证。我认为这是因为代码无法检查密码属性哈希内的密码属性。你知道我怎样才能使这个验证正常工作吗?

谢谢!

4

1 回答 1

0

我能够通过在模型中使用自定义验证函数来实现这一点:

validation: {
    loginId: {
      required: true,
      msg: 'Please Enter a Login ID.'
    },
    password: function(value, attr, computedState) {
      if(!value || !value.get('password')) {
          return 'Please enter a password.';
      }
    {
},
default: function(){
    return {
        "password" : new Backbone.Model(),
    }; 
},

我必须指定一个默认模型,因为模型上的密码属性实际上是服务器上的密码模型,所以你需要给初学者一个空白模型。我还必须确保我视图中的绑定设置正确。

于 2013-04-16T20:04:41.583 回答