array
Learn about the available options, methods and use cases.
Usage
Following is the simple usage of this validator
import e from "validator";
await e.array(
e.string(), // Optionally pass a validator
{} // Optionally pass options
)
.validate([]) // returns []Options
Following are the available options for this validator
interface IArrayValidatorOptions extends TBaseValidatorOptions {
/** Pass custom messages for the errors */
messages?: Partial<
Record<
"typeError" | "nanKey" | "smallerLength" | "greaterLength",
TErrorMessage
>
>;
/** Validate array minimum length */
minLength?: number;
/** Validate array maximum length */
maxLength?: number;
/**
* Partialize the underlying validator (makes undefined values in the props acceptable)
*
* Use e.partial() instead, if working with typescript
*/
partial?: boolean;
/**
* Converts the underlying validator's props that are partialized/optional to required
*
* Use e.required() instead, if working with typescript
*/
required?: boolean;
/**
* (Casting Option) Requires `cast` to be `true`
*
* Set a splitter that will be used to split elements in the string and convert it into array during the cast.
*/
splitter?: string | RegExp;
/**
* (Casting Option) Requires `cast` to be `true`
*
* Normally this validator will allow you to validate an object (like an array) if the cast is `true` and
* properties of this object are number like.
* But if the validator detects a NaN property on the object, it will throw a nanKey error!
*
* If you want to avoid nanKey error by ignoring any NaN keys in the object then pass `true` here.
*/
ignoreNanKeys?: boolean;
/**
* (Casting Option) Requires `cast` to be `true`
*
* Normally this validator will allow you to validate an object (like an array) if the cast is `true` and
* properties of this object are number like.
* But if the validator detects a NaN property on the object, it will throw a nanKey error!
*
* If you want to avoid nanKey error by pushing the value of a NaN key into the resulting array then pass `true` here.
*/
pushNanKeys?: boolean;
/**
* (Casting Option) Requires `cast` to be `true`
*
* If `cast` is `true`, the validator will try to convert a non-splitable/non-object item into an array.
* If you pass boolean (true) into the array validator, it will cast it to [true], an array of boolean.
*
* If you want to disable this behavior, pass `true` here.
*/
noCastSingularToArray?: boolean;
}Methods
Following are the available methods on this validator
Examples
Read the examples below to understand different use cases
Case 1 (Basic usage)
Case 2 (Usage with other validators)
Case 3 (With casting)
Last updated
Was this helpful?