Literal type

Ensure the field's value matches exactly the expected literal value. In certain cases, VineJS will perform the following normalizations on the input value.

  • When expected value is a boolean - The input value [true, 1, "1", "true", "on"] will be converted to true.
  • When expected value is a boolean - The input value [false, 0, "0", "false"] will be converted to false.
  • When expected value is a number - The string representation of a number value will be converted to a number.
import vine from '@vinejs/vine'
const schema = vine.object({
is_hiring_guide: vine.literal(true)

Using the following modifiers, you may mark the field as optional or nullable.

See also: Working with undefined and null values

is_hiring_guide: vine.literal(true).nullable()
is_hiring_guide: vine.literal(true).optional()

Defining error message

You may define the custom error message using the literal rule name.

const messages = {
literal: 'The {{ field }} field must be {{ expectedValue }}'
vine.messagesProvider = new SimpleMessagesProvider(messages)

On this page