如何使用 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
给定以下示例 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