Creates a new VineNativeFile instance.
Optionaloptions: Partial<FieldOptions>Field options like bail mode and nullability
Optionalvalidations: Validation<any>[]Initial set of validations to apply
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
OptionaldataThe validation to use for validating the schema data type. Using a data type validator guards custom rules to only run when the data type validation passes.
Configuration options for this field including bail mode, nullability, and parsing
StaticrulesStatic collection of all available validation rules for native files
The subtype identifier for the literal schema field
Unique name identifier for union type resolution
Transforms your schema type into JSONSchema7
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 it.
Adds a validation rule to the schema's validation chain. Rules are executed in the order they are added.
The validation rule or rule builder to add
This schema instance for method chaining
Enable/disable bail mode for this field. In bail mode, field validations stop 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.
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.
Add meta to the field that can be retrieved once compiled. It is also merged with the json-schema.
Apply transform on the final validated value. The transform method may convert the value to any new datatype.
Compiles the literal schema type into a compiler node. This method transforms the schema definition into a format that the validation compiler can process.
Name of the property being compiled
Reference store for the compiler
Parser options including camelCase conversion
Compiled literal node with subtype information
Type checker function to determine if a value is a native file. Required for "unionOfTypes" functionality.
The value to check
Clones the VineNativeFile schema type. The applied options and validations are copied to the new instance.
A cloned instance of this VineNativeFile schema
Enforce the file size to be at least the provided minimum size.
Minimum file size in bytes
Limit the maximum file size.
Maximum file size in bytes
Enforce the file type to be one of the specified MIME types.
Array of allowed MIME types
VineNativeFile represents a platform native File class instance. This type is used to validate file uploads in browser environments where the File API is available.
The file is validated based on type, size, and MIME type constraints. Unlike MultipartFile (used in Node.js), this works with the browser's native File object from file input elements.
Example
Example