after

Validates the value to be after a given date/offset. The rule can be only be used with the date schema type.

import { schema, rules } from '@ioc:Adonis/Core/Validator'
{
checkin_date: schema.date({}, [
rules.after(2, 'days')
])
}

The rules.after method accepts a duration and the offset for the duration. Following are some of the examples for the same. You can use the TypeScript intellisense to discover rest of the available offsets.

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

You can also pass the one of the following shorthand keywords.

rules.after('today')
rules.after('tomorrow')

For more advanced use cases, you can pass an instance of the luxon DateTime object. Do make sure to pass the value as a ref.

import { DateTime } from 'luxon'
import { schema, rules } from '@ioc:Adonis/Core/Validator'
class HolidayValidator {
public refs = schema.refs({
allowedDate: DateTime.local().plus({ days: 2 })
})
public schema = schema.create({
joining_date: schema.date({}, [
rules.after(this.refs.allowedDate)
])
})
}