# Validation
# Validating Arguments
Lighthouse allows you to use Laravel's validation (opens new window) for your queries and mutations. The simplest way to leverage the built-in validation rules is to use the @rules directive.
type Mutation {
createUser(
name: String @rules(apply: ["required", "min:4"])
email: String @rules(apply: ["email"])
): User
}
In the case of a validation error, Lighthouse will abort execution and return the validation messages as part of the response.
mutation {
createUser(email: "hans@peter.xyz") {
id
}
}
{
"data": {
"foo": null
},
"errors": [
{
"message": "validation",
"locations": [
{
"line": 2,
"column": 13
}
],
"validation": ["The name field is required."]
}
]
}
You can customize the error message for a particular argument.
@rules(apply: ["max:140"], messages: { max: "Tweets have a limit of 140 characters"})