Skip to content

ResourcefulDateType

The ResourcefulDateType class provides ISO 8601 date validation for date-only fields (YYYY-MM-DD format). It excludes time information and is ideal for birthdays, due dates, and other date-only values.

For complete API reference, see ResourcefulDateType.

Basic Usage

typescript
import { ResourcefulDateType } from '@nhtio/lucid-resourceful/definitions'

// Basic date type
const dateType = ResourcefulDateType()

// With decorators
@resourcefulColumn.date({
  type: ResourcefulDateType({ nullable: true })
})
declare birthDate: DateTime | null

Common Patterns

typescript
class Person extends compose(BaseModel, withResourceful({ name: 'Person' })) {
  @resourcefulColumn.date({
    type: ResourcefulDateType({ nullable: true })
  })
  declare birthDate: DateTime | null

  @resourcefulColumn.date({
    type: ResourcefulDateType({ nullable: true })
  })
  declare hireDate: DateTime | null

  @resourcefulColumn.date({
    type: ResourcefulDateType({ nullable: true })
  })
  declare terminationDate: DateTime | null
}

OpenAPI Schema

Generates "type": "string", "format": "date" in OpenAPI schemas.

Best Practices

  • Use for date-only values without time components
  • Store in YYYY-MM-DD format
  • Use ResourcefulDateTimeType when time is needed
  • Consider timezone implications for date boundaries