File: //home/arjun/projects/buyercall/node_modules/@vuelidate/validators/README.md
# Vuelidate Validators
This is the standalone validators package for [Vuelidate](https://github.com/vuelidate/vuelidate).
## Installation
You need to install both this package and Vuelidate.
```bash
npm install @vuelidate/core @vuelidate/validators
```
or with yarn
```bash
yarn add @vuelidate/core @vuelidate/validators
```
## Usage
After adding the Vuelidate plugin, you can use the validators by importing them directly.
These validators come with error messages out of the box.
```js
import { required, email } from '@vuelidate/validators'
export default {
data: () => ({
name: '',
email: ''
}),
validations: {
name: { required },
email: { required, email }
}
}
```
### Raw, no message validators
If you want to use validators without error messages, you can import the raw validators.
```js
import { required, email } from '@vuelidate/validators/dist/raw.esm'
```
### Extending a validator with custom message
You can attach a validation message to a validator via tha `withMessage` method.
```js
import { common, required } from '@vuelidate/validators'
const requiredWithMessage = common.withMessage(required, 'This field is required and must be filled in')
export default {
...,
validations: {
name: { requiredWithMessage }
}
}
```
### Attaching extra data to a validator
If you want to attach extra data properties to validator, so you can use them in the messages and when validating, use the `withParams` helper.
```js
import { common } from '@vuelidate/validators'
const atLeast = (number) => common.withParams({ number }, (value) => value.length <= number) // just an example
export default {
...,
validations: {
name: { atLeast: atLeast(5) }
}
}
```
### Combining params and messages
You can combine both helpers to build a validator.
```js
import { common } from '@vuelidate/validators'
const customMinLength = (number) => common.withMessage((value) => value.length <= number, ({ $params }) => `The field must be at least ${$params.number} chars long`)
const atLeast = (number) => common.withParams({ number }, customMinLength(number)) // just an example
export default {
...,
validations: {
name: { atLeast: atLeast(5) }
}
}
```
## Development
To test the package run
```bash
yarn test:unit
```
To link the package run
```bash
yarn link
```
To build run the package, run:
```bash
npm run build
```