如何从GraphQL模式创建验证规则

人类猫粮

如何将简单的GraphQL模式转换为验证规则,该模式可以通过导入来访问服务器服务器端,而可以通过查询来访问服务器端?

我可以看一下如何为枚举做到这一点,可以说我有一个标题:

  enum Title {
    Mr, Ms, Mrs, Dr
  }

我可以通过查询访问可能的值

  __type (name: "Title") {
    name
    enumValues {
      name
    }
  }

现在,我可以在客户端上创建下拉列表或在服务器上创建验证,但是如何编码和访问例如字符串字段的最小/最大长度?或数字的最小/最大值?

我是否需要为每个字段添加自定义类型?或者,还有更好的方法?


回应丹尼尔的回答:

我正在使用yup进行验证,这是一个很棒的库,但是例如,如果gql InputType上需要特定字段,如何将其输入yup模式?

以及如何在前端使用该yup模式?理想情况下,我想对其进行序列化,将其发送给客户端,然后在此处重建验证。

我唯一想到的另一种方法是共享代码,但是每次架构更改时,我都需要重新构建并重新部署客户端,这当然是不可能的:/

丹尼尔·雷登(Daniel Rearden)

有多种数据验证,例如:

  • 数据类型(此值是字符串还是数字?)
  • 范围(此值在此值范围内吗?)
  • 约束(此值满足此正则表达式吗?)
  • 一致性(结束日期在开始日期之后吗?)
  • 引用(提供的标识符是否引用了实际存在的实体?)

诸如GraphQL之类的强类型语言只能真正提供数据类型验证。您的GraphQL服务可以执行其他类型的验证(通过数据源,数据模型,自定义GraphQL标量等),但是,只能从该服务中自检类型信息。自省不是将其他验证逻辑传达给客户端的适当工具。

如果您在后端使用Node.js,并且打算在后端和前端之间共享验证逻辑,那么最好的方法是利用yupjoi之类的库

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建一个整数、json 模式、验证整数不等于 0(零)的验证规则?

来自分类Dev

如何在Laravel + lighthouse graphql中实现高级验证规则?

来自分类Dev

如何创建引用两个查找的验证规则

来自分类Dev

如何添加验证规则

来自分类Dev

行为创建属性的验证规则

来自分类Dev

Firebase验证规则。如何使规则生效?

来自分类Dev

如何创建udev规则?

来自分类Dev

如何使makefile使用模式规则?

来自分类Dev

如何从GraphQL模式生成GraphQL操作

来自分类Dev

在codeigniter中创建自己的表单验证规则

来自分类Dev

如何使用Azure CLI资源管理部署模式创建终结点(入站安全规则)?

来自分类Dev

如何使用Azure CLI资源管理部署模式创建终结点(入站安全规则)?

来自分类Dev

如何在Cake 3中创建自定义验证规则

来自分类Dev

如何在Laravel 6 API中创建自定义验证规则

来自分类Dev

使用循环引用动态创建graphql模式

来自分类Dev

为变量中的模式创建模式规则?

来自分类Dev

如何创建特定的Qos规则?

来自分类Dev

如何创建此urlManager规则?

来自分类Dev

如何创建以“#”开头的重写规则

来自分类Dev

如何创建“X”模式?

来自分类Dev

验证规则在Laravel中如何工作

来自分类Dev

如何从局部视图实现元素的验证规则

来自分类Dev

如何检查jQuery验证默认规则?

来自分类Dev

如何验证结构创建?

来自分类Dev

DDD-实体创建业务规则验证

来自分类Dev

Laravel 5.1创建自定义验证规则

来自分类Dev

如何从Makefile中的目标列表创建规则?

来自分类Dev

如何在声纳中创建新规则

来自分类Dev

如何为动态生成的字段创建规则

Related 相关文章

热门标签

归档