【发布时间】:2020-07-15 14:05:21
【问题描述】:
如何将一个简单的 GraphQL 模式(我可以通过导入访问服务器端并通过查询访问客户端)转换为验证规则?
我可以看到如何为枚举做到这一点,假设我有一个标题:
enum Title {
Mr, Ms, Mrs, Dr
}
我可以通过查询访问可能的值
__type (name: "Title") {
name
enumValues {
name
}
}
现在我可以在客户端创建下拉列表或在服务器上创建验证,但是如何编码和访问例如字符串字段的最小/最大长度?还是数字的最小值/最大值?
是否需要为每个字段添加自定义类型?还是有更好的方法?
[编辑]回应丹尼尔的回答:
我正在使用 yup 进行验证,这是一个很棒的库,但例如,如果某个字段在 gql InputType 上是必需,我如何将它放入 yup 架构中?
我如何在前端使用那个 yup 模式?理想情况下,我想对其进行序列化,将其发送给客户端,然后在那里重建验证。
我能想到的唯一另一种方法是共享代码,但是每次架构更改时我都需要重新构建和重新部署客户端,这当然是不可能的:/
【问题讨论】:
标签: validation graphql