This is my validator class
import { schema, rules } from "@ioc:Adonis/Core/Validator";
import { HttpContextContract } from "@ioc:Adonis/Core/HttpContext";
export default class CreateUserValidator {
constructor(protected ctx: HttpContextContract) {}
schema = schema.create({
lat: schema.string({}, [
rules.regex(/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/),
]),
lng: schema.string({}, [
rules.regex(/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/),
]),
radius: schema.number(),
distance: schema.number(),
});
public messages = {};
}
This is my controller
import { validator } from '@ioc:Adonis/Core/Validator'
import CreateUser from 'App/Validators/CreateUserValidator'
public async station({
request,
response,
}: HttpContextContract) {
let inputs: any = await EncyptionManager.decrypt(request.body().inputs);
inputs = JSON.parse(inputs);
await validator.validate(
new CreateUser({
lat: ainputs.lat,
long: ainputs.lat,
radius: ainputs.radius,
distance: ainputs.distance,
})
);
console.log(inputs)
Simply, I want to validate lat, long, radius, and distance using the validator classes outside of the HTTP request.