Skip to content

before

Valida o valor para ser anterior a uma determinada data/deslocamento. A regra pode ser usada somente com o tipo de esquema de data.

ts
import { schema, rules } from '@ioc:Adonis/Core/Validator'

{
  joining_date: schema.date({}, [
    rules.before(2, 'days')
  ])
}

O método rules.before aceita uma duração e o deslocamento para a duração. A seguir estão alguns exemplos para o mesmo. Você pode usar o TypeScript intellisense para descobrir o restante dos deslocamentos disponíveis.

ts
rules.before(2, 'days')
rules.before(1, 'month')
rules.before(4, 'years')
rules.before(30, 'minutes')

Você também pode passar uma das seguintes palavras-chave abreviadas.

ts
rules.before('today')
rules.before('yesterday')

Além disso, você pode usar o beforeOrEqual para impor que a data seja a mesma ou posterior a uma determinada data.

ts
{
  joining_date: schema.date({}, [
    rules.beforeOrEqual('today')
  ])
}

Usando datas Luxon

Para casos de uso mais avançados, você pode passar uma instância do objeto luxon DateTime. Certifique-se de passar o valor como uma referência.

ts
import { DateTime } from 'luxon'
import { schema, rules } from '@ioc:Adonis/Core/Validator'

class UserValidator {
  public refs = schema.refs({
    allowedDate: DateTime.local().minus({ days: 2 })
  })

  public schema = schema.create({
    checkin_date: schema.date({}, [
      rules.before(this.refs.allowedDate)
    ])
  })
}