Dasar HTTP

Validation

Validasi input request dan hasilkan respons error per field secara konsisten.

Method request.validate() memvalidasi gabungan query string dan body request. Data yang lolos dikembalikan sebagai object dengan field yang didefinisikan.

Validasi request

Route.post('/register', async (request, response) => {
  const data = await request.validate({
    name: ['required', 'string', 'min:2', 'max:100'],
    email: ['required', 'email'],
    password: ['required', 'string', 'min:8'],
  });

  return response.json(data, 201);
});

Kegagalan menghasilkan ValidationException dengan status HTTP 422 dan detail error per field.

{
  "message": "The given data was invalid.",
  "errors": {
    "email": ["email failed the email validation rule."]
  }
}

Rule yang tersedia

Validator saat ini mendukung rule umum berikut:

  • required
  • string
  • email
  • min:value
  • max:value
  • integer
  • boolean
  • number
  • in:value,other
  • confirmed

Rule dapat ditulis sebagai array atau string yang dipisahkan karakter pipe.

const data = await request.validate({
  email: 'required|email',
  age: 'integer|min:18',
});

Ketik untuk mencari di seluruh dokumentasi.