midwayjs / midway

🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
https://www.midwayjs.org/
MIT License
7.4k stars 577 forks source link

参数校验不能在数组中生效 #1053

Open liudaoping opened 3 years ago

liudaoping commented 3 years ago

参数校验不能再数组中生效,如下图所示

image

stone-jin commented 3 years ago

能不能改成,params: VO,然后vo里面有个参数是:CodeItemDTO[],相当于post参数是:{xxxx: []},xxx就是CodeItemDTO[]

czy88840616 commented 3 years ago

大部分场景参数都是对象吧。。数组很少见。。

liuwensa commented 3 years ago

前置转换支持吗?比如我传参ids=[1,2,3],其实我接收到的是'[1,2,3]',想验证之前把它转换为数组,然后写规则RuleType.array().items....这样

liudaoping commented 3 years ago

大部分场景参数都是对象吧。。数组很少见。。

少见但不代表没有,还是期望可以支持对数组传参的校验

liudaoping commented 3 years ago

能不能改成,params: VO,然后vo里面有个参数是:CodeItemDTO[],相当于post参数是:{xxxx: []},xxx就是CodeItemDTO[]

总不能每次都包成一个对象来传参吧,如果除了数组还有其它字段的参数那倒可以,但如果仅仅只有数组参数,多包一层显得不够整洁

Kuuga46 commented 7 months ago

这个问题解决了嘛?有些场景需要批量处理数据

czy88840616 commented 7 months ago

已经支持使用@Valid自定义规则就行