如何使用 express-validator 中的 checkSchema 中间件验证嵌套的 POST 主体负载?

How can I validate a nested POST body payload with the checkSchema middleware in express-validator?

给定以下示例 POST 正文:

User = {
    email: string; //required, email
    password: string; //required, min length 8

    profile: {
        firstName: string;  //required
        lastName: string;   //required
        gender: Gender;     //required, enum (M/F)
    }
}

如何定义表达式 ValidationSchema 来验证嵌套的 Profile 对象及其在 User

中的属性
userValidatorSchema: ValidationSchema = {
    email: {
        isEmail: {}
    },
    password: {
        exists: {
            options: {checkNull: true},
            errorMessage: 'Null value'
        },
        isEmpty: {
            negated: true,
            errorMessage: 'Empty string'
        }        
    }
    //Profile validation??

Express-validator docs 让它看起来像使用 express-validator 是不可能的。如果是这样,什么是更通用的 express 验证器?

你试过这种方法吗:

// Profile validation
profile: {
  optional: false
},
'profile.firstName': {
  notEmpty: true,
  optional: false
}
// ...others