【问题标题】:Sails model validation only when updating and not while creatingSails 模型验证仅在更新时而不是在创建时验证
【发布时间】:2014-12-10 15:28:33
【问题描述】:

在使用sails 验证时,我只需要一些字段来在更新时而不是在创建期间进行验证。场景是,当用户创建时,我只是获取用户名和密码,然后我要求用户提供所有剩余的数据,并且我只需要在更新期间应用一些验证规则,而不是在创建期间应用。

我知道我可以在更新之前使用生命周期回调进行一些手动验证,但是我不会使用我认为不正确的方式进行的风帆验证。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    我会说如果你能指定验证发生的时间会很好,但目前你不能。

    【讨论】:

    • 谢谢米克!这可能是一种解决方法,但我现在正在做的是为此目的使用 beforeUpdate 回调,并直接使用sails也用于验证目的的validator.js!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多