daodao97 / apidog

Api Watch Dog, Hyperf 框架的 Api参数校验 和 swagger 生成组件
MIT License
150 stars 29 forks source link

关于自定义错误提示 #29

Open jobinli opened 4 years ago

jobinli commented 4 years ago

如果想对参数某一规则做地定义错误描述,是否只能通过callback的方式来检验?如 required 规则,我希望只提示说 参数错误 而不提示具体的字段名称。

daodao97 commented 4 years ago

你描述的这个需求目前尚不支持, 不过是可以实现的, 我们可以通过增加一个配置项, 控制是否模糊化错误消息提示, 开启的话提示详细信息, 关闭的话只做笼统的提示, 避免暴露更多细节 甚至可以细化到指定的api, 得空的搞一下.

jobinli commented 4 years ago

恩,我目前的想法也是提供一个可以细化到controller/action/param/rule的map来输出特定提示。因为外层只能获取到error,所以目前看来只能用class_map功能替换 \Hyperf\Apidog\Validation\Validation,才能实现获取相应message来做输出。

jobinli commented 4 years ago

或者param的注解,增加message参数,以指明param引用的message配置项?这样感觉会比较清晰些。同时也能复用一些通用的。

daodao97 commented 4 years ago

增加一个 message 参数也是可的, 我还没想太清楚.