So I've been playing around with Hotchocolate lately and I made a class which gives me back a list of students, but I want to have some validation functions for it. I didn't really find anything that helps me from the official hotchocolate website.
Student.cs
public class Student
{
[GraphQLNonNullType]
public string Name{ get; set; }
[GraphQLNonNullType]
public string LastName{ get; set; }
[GraphQLNonNullType]
public string Picture { get; set; }
}
This is my query, which currently gives me back all students from a list.
StudentQuery.cs
public class StudentQuery
{
[UseFiltering]
[UseSorting]
public List<Student> GetStudents()
{
return MongoDBHelper.LoadRecords<Student>(EMongoCollection.Students);
}
}
Now my question is, how can I make a ValidationRule for a student, saying for example that a student has to at least have 3 characters for his name? Could someone be kind enough to provide me some example?
Thanks in advance.
Thanks in advance. HotChocolate itself does not have a integration for input validation of this kind. The framework only does GraphQL validation. So checks for invalid GraphQL queries. (e.g. Wrong Type)
Just decorate the required resolvers or methods with [HotChocolate.AspNetCore.Authorization.Authorize] attribute. Recall Part1 , we created a resolver or method like 'Welcome' in Query type (QueryResolver.cs). So let's make this method secured, we can do it by applying the 'Authorize' attribute on top of the resolver. Resolvers/QueryResolver.cs:
Having evaluated the above list for targeting Azure Functions, I found that FluentChoco was very simple to configure and plays nicely with AbstractValidator<T> implementations. It also does not have a dependency on Asp.net (and so can be added to a class library).
HotChocolate itself does not have a integration for input validation of this kind. The framework only does GraphQL validation. So checks for invalid GraphQL queries. (e.g. Wrong Type)
If you want to use validation there are a few community libraries to choose from:
Community libraries are listed here: https://github.com/ChilliCream/hotchocolate/blob/main/COMMUNITY.md
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With