小编Dam*_*ndy的帖子

Express-validator如何使一个字段仅在另一个字段存在时才为必填字段

express-validator,如何使一个字段仅在另一个字段存在时才为必填?

const validateUpdateStore = () => {
  return [
    body('logo').optional().isURL().withMessage('invalid url'),
    body('email')
      .optional()
      .isEmail()
      .withMessage('email is invalid')
      .trim()
      .escape(),
    body('phone').optional().isInt().withMessage('integers only!'),
    body('account_number').optional().isInt().withMessage('integers only!'),
    body('bank_code').optional().isInt().withMessage('integers only!'),
  ];
};
Run Code Online (Sandbox Code Playgroud)

我想bank_code仅在account_number提供该字段时才将其设置为必填字段,反之亦然

javascript node.js express express-validator

11
推荐指数
1
解决办法
1万
查看次数

(Django Rest Framework) 如何更新用户模型

我正在尝试更新用户模型(使用 APIView 中的 Django Rest Framework 的 patch 方法),但我不断收到错误。

`NotImplementedError: update() must be implemented.`
Run Code Online (Sandbox Code Playgroud)

这是我的序列化器:

class UpdateSerializer(serializers.Serializer):
class Meta:
    model = User
    fields = ('email', 'first_name', 'last_name',
              'phone')
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

class UpdateUser(APIView):
    permission_classes = [
        permissions.IsAuthenticated,
    ]

    def patch(self, request):
        """
        `Update User`
        """
        user = self.request.user
        serializer = UpdateSerializer(user, data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

我创建了一个自定义用户模型,用于注册用户的序列化器工作正常,但此更新序列化器给出了该错误

python django django-rest-framework

1
推荐指数
1
解决办法
1675
查看次数