Как я могу преобразовать простую схему GraphQL, к которой я могу получить доступ к серверной части сервера путем импорта, а клиентскую часть по запросу, в правила проверки?
Я могу посмотреть, как я могу сделать это для enums, скажем, у меня есть заголовок:
enum Title {
Mr, Ms, Mrs, Dr
}
Я мог получить доступ к возможным значениям, запросив
__type (name: "Title") {
name
enumValues {
name
}
}
И теперь я могу создать раскрывающийся список на клиенте или проверки на сервере, но как мне кодировать и получить доступ, например, к минимальной / максимальной длине строкового поля? Или минимальное / максимальное значение для числа?
Нужно ли добавлять пользовательский тип для каждого поля? Или есть лучший способ?
[править] в ответ на ответ Дэниела:
Я использую yup для проверки, которая является отличной библиотекой, но, например, если определенное поле было обязательное для gql InputType, как мне получить это в схеме yup?
И как мне использовать эту схему yup на внешнем интерфейсе? В идеале я хотел бы сериализовать его, отправить его клиенту и восстановить там валидацию.
Единственный другой способ, которым я могу придумать, - это поделиться кодом, но тогда мне нужно пересобрать и заново - Развертывайте клиент каждый раз, когда меняется схема, что, конечно, не может быть и речи: /