环回条件数据验证

时间:2018-01-21 14:48:42

标签: javascript strongloop loopback

如何根据请求正文中的某些条件定义一些验证规则 例如,我想验证只有在帖子发布时才设置帖子描述字段(isPublished flag等于true),如:

module.exports = function(Post) {
if(req.body.isPublished === true) {
    Post.validatesPresenceOf('description');
  }
}

2 个答案:

答案 0 :(得分:2)

  

可能你正在寻找像这样的东西

Post.observe('before save',(ctx,next)=>{
  //if post is created
  if(ctx.isNewInstance) {
    if(ctx.instance.isPublished)
      Post.validatesPresenceOf('description');
  }
  //if post is updated
  else{
    if(ctx.data.isPublished)
      Post.validatesPresenceOf('description');
  }
return next();
})

答案 1 :(得分:2)

简单地说,您可以使用options参数

Post.validatesPresenceOf('description', {if: 'isPublished'});

参考:#validatable-validatespresenceof