Record of property names to their schema types
The expected input type for this object
The output type after validation and transformation
The output type with camelCase property names
Optionaloptions: FieldOptionsOptionalvalidations: Validation<any>[]Define the input type of the schema for TypeScript inference
The output value type of the field after validation. The property points to a type only and not the real value.
Type marker for camelCase output type inference
Unique name identifier for union type resolution
Define a method to parse the input value. The method is invoked before any validation and hence you must perform type-checking to know the value you are working with.
Parser function to transform the input value
This schema instance for method chaining
Push a validation to the validations chain.
Validation rule or rule builder to add
This schema instance for method chaining
Enable/disable the bail mode. In bail mode, the field validations are stopped after the first error.
Whether to enable bail mode
This schema instance for method chaining
Mark the field under validation as optional. An optional field allows both null and undefined values.
A new OptionalModifier wrapping this schema
Mark the field under validation to be null. The null value will be written to the output as well.
If optional and nullable are used together, then both undefined
and null values will be allowed.
A new NullableModifier wrapping this schema
Type checker function to determine if a value is an object. Required for "unionOfTypes" functionality.
The value to check
True if the value is a non-null object and not an array
Returns a clone copy of the object properties. The object groups are not copied to keep the implementations simple and easy to reason about.
Returns a clone copy of the cherry picked object properties including only the mentioned properties.
Returns a cloned copy of the cherry picked object properties without the mentioned properties
Copy unknown properties to the final output.
Merge a union to the object groups. The union can be a "vine.union" with objects, or a "vine.object.union" with properties.
Clone object
Applies camelcase transform
Compiles the schema type to a compiler node
VineObject represents an object value in the validation schema. It validates objects with predefined properties, supports conditional groups, and provides control over unknown properties.
Example