仅在更新时进行模型验证,而不在创建时进行

时间:2014-12-10 15:28:34

标签: node.js sails.js sails-mongo

在使用sails验证时​​,我需要一些字段才能在更新时验证,而不是在创建期间验证。方案是,当用户正在创建时,我只是使用用户名和密码,之后我会询问用户的所有剩余数据,并且我只需要在更新期间应用一些验证规则而不是创建。

我知道我可以使用生命周期回调beforeUpdate进行一些手动验证,但后来我不会使用sails验证,我认为这不是正确的方法。

如何告诉模型这些规则只能在更新期间应用?

2 个答案:

答案 0 :(得分:1)

具体是什么规则?您可以做的一件事是给规则一个真/假检查,以查看记录是否具有Id。如果是,那么它是一个更新,如果没有,那么它是一个创建。

favorite_color : {
    required : function(){
       return 'id' in this // ID should be your primary key field. 
    }
}

我会说如果您可以指定何时进行验证会很好,但目前您不能。

答案 1 :(得分:0)

您可以将数据库实体拆分为两个独立的实体,并使用两个模型。第一个模型需要用户名和密码,第二个模型需要其他字段。