Validation
Grpcavel brings Laravel's powerful validation system to gRPC.
Defining Rules
Define validation rules in your request DTO by extending GrpcRequest and implementing the rules() method:
namespace App\Grpc\Requests;
use Grpcavel\Http\Requests\GrpcRequest;
class GetUserRequest extends GrpcRequest
{
public function __construct(
public readonly int $id
) {}
public function rules(): array
{
return [
'id' => 'required|integer|exists:users,id'
];
}
}
Automatic Validation
When a request arrives at the gRPC server:
- Grpcavel instantiates your Request DTO.
- It automatically runs the validator using your
rules(). - If validation fails, it returns a
INVALID_ARGUMENTgRPC status code along with the error messages. - If validation passes, your service method is called.