Validation Graphql输入强制属性
是否可以使用强制输入或其他输入创建GraphQL输入 例如:Validation Graphql输入强制属性,validation,graphql,Validation,Graphql,是否可以使用强制输入或其他输入创建GraphQL输入 例如: input ClientInput { name: String! token: String! email: String! } 我希望其中一个属性令牌或电子邮件是必需的。 如果提供了其中一个,则另一个将成为可选的 可能吗? 如果没有,是否有一种“解决方法”?不,这是不可能的。一种解决方法是将这两个字段设置为aption,然后进行手动验证,在此基础上可以返回自定义错误。 另一种方法是将字段组合成 input
input ClientInput
{
name: String!
token: String!
email: String!
}
我希望其中一个属性令牌
或电子邮件
是必需的。
如果提供了其中一个,则另一个将成为可选的
可能吗?
如果没有,是否有一种“解决方法”?不,这是不可能的。一种解决方法是将这两个字段设置为aption,然后进行手动验证,在此基础上可以返回自定义错误。 另一种方法是将字段组合成
input ClientInput
{
name: String!
tokenOrEmail: String!
}
通过这样做,您可以使该字段成为必填字段,然后进行一些解析以确定提供的值是令牌还是电子邮件
更好的方法是添加另一个字段以提供authMethod,如下所示:
input ClientInput
{
name: String!
authData: String!
authMethod: AuthMethod!
}
enum AuthMethod {
EMAIL
TOKEN
}
不,这是不可能的。一种解决方法是将这两个字段设置为aption,然后进行手动验证,在此基础上可以返回自定义错误。 另一种方法是将字段组合成
input ClientInput
{
name: String!
tokenOrEmail: String!
}
通过这样做,您可以使该字段成为必填字段,然后进行一些解析以确定提供的值是令牌还是电子邮件
更好的方法是添加另一个字段以提供authMethod,如下所示:
input ClientInput
{
name: String!
authData: String!
authMethod: AuthMethod!
}
enum AuthMethod {
EMAIL
TOKEN
}