@vinejs/vine - v4.2.0
    Preparing search index...

    Class ConditionalValidationsAbstract

    Abstract base class providing conditional validation methods for making fields required based on runtime conditions. This class is extended by schema types that support conditional validation.

    vine.string().optional().requiredWhen('role', '=', 'admin')
    

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • Marks the field as required when a condition is met. Can be used with a callback or with comparison operators to compare another field's value.

      Type Parameters

      Parameters

      • otherField: string

        Field name to compare or callback function

      • operator: Operator

        Comparison operator (=, !=, in, notIn, >, <, >=, <=)

      • expectedValue: Operator extends ArrayComparisonOperators
            ? (string | number | boolean)[]
            : Operator extends NumericComparisonOperators
                ? number
                : string
                | number
                | boolean

        Expected value to compare against

      Returns this

      vine.string().optional().requiredWhen('role', '=', 'admin')
      
      vine.string().optional().requiredWhen('age', '>', 18)
      
      vine.string().optional().requiredWhen((field) => field.data.isAdmin === true)
      
    • Marks the field as required when a condition is met. Can be used with a callback or with comparison operators to compare another field's value.

      Parameters

      • callback: (field: FieldContext) => boolean

      Returns this

      vine.string().optional().requiredWhen('role', '=', 'admin')
      
      vine.string().optional().requiredWhen('age', '>', 18)
      
      vine.string().optional().requiredWhen((field) => field.data.isAdmin === true)
      
    • Marks the field as required when all specified fields exist (are not undefined or null).

      Parameters

      • fields: string | string[]

        Field name or array of field names to check for existence

      Returns ConditionalValidations

      vine.string().optional().requiredIfExists('email')
      
      vine.string().optional().requiredIfExists(['firstName', 'lastName'])
      
    • Marks the field as required when all specified fields are missing (undefined or null).

      Parameters

      • fields: string | string[]

        Field name or array of field names to check for absence

      Returns ConditionalValidations

      vine.string().optional().requiredIfMissing('addressId')
      
      vine.string().optional().requiredIfMissing(['street', 'city'])