Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chopshop1/ez-validation
Validation made Ez
https://github.com/chopshop1/ez-validation
angular customizable es6 ez form-validation javascript js react svelte typescript validation vue
Last synced: about 18 hours ago
JSON representation
Validation made Ez
- Host: GitHub
- URL: https://github.com/chopshop1/ez-validation
- Owner: chopshop1
- License: mit
- Created: 2019-03-07T02:27:55.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T18:29:21.000Z (almost 2 years ago)
- Last Synced: 2025-01-13T10:14:13.876Z (11 days ago)
- Topics: angular, customizable, es6, ez, form-validation, javascript, js, react, svelte, typescript, validation, vue
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/ez-validation
- Size: 1.9 MB
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: readme.MD
Awesome Lists containing this project
README
![badge](https://github.com/amad27/ez-validation/workflows/npm%20publish/badge.svg)
[![NPM version](https://img.shields.io/npm/v/ez-validation.svg)](https://www.npmjs.com/package/ez-validation)
[![NPM downloads overall](https://img.shields.io/npm/dt/ez-validation.svg)](https://www.npmjs.com/package/ez-validation)
[![NPM package size](https://img.shields.io/bundlephobia/minzip/ez-validation)](https://img.shields.io/bundlephobia/minzip/ez-validation)[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)# Validation made Ez
> Who said Validation has to be hard and annoying!
https://medium.com/@27amad27/validation-made-ez-50e72d6a0b29
API
| Function | Params | Description |
| ---------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------- |
| required | errorMessage | checks if value is empty or not |
| isString | errorMessage | checks if value is a STRING |
| isBoolean | errorMessage | checks if value is a BOOLEAN |
| isNumber | errorMessage | checks if value is a INT |
| isWholeNumber | errorMessage | checks if value is a Whole Number |
| isObject | errorMessage | checks if value is an OBJECT |
| isEmpty | errorMessage | checks if value is an EMPTY |
| isAlphanumeric | errorMessage | checks if value is Alphanumeric |
| isEmail | errorMessage | checks if value is valid Email |
| isPhoneNumber | errorMessage | checks if value is valid Phone Number |
| isUSAZipCode | errorMessage | checks if value is valid USA Zip Code |
| maxLength | maxNumber, errorMessage | checks if value exceeds max length |
| minLength | minNumber, errorMessage | checks if value is below min length |
| maxValue | maxNumber, errorMessage | checks if value exceeds max number value |
| minValue | minNumber, errorMessage | checks if value is below min number value |
| customRegex | regex, errorMessage | pass in a custom regex |
| customValidation | cb, errorMessage | pass in a custom call back that returns a Boolean False if there is an error True is there is not an error |
Examples
```javascript
import { EzValidation } from "ez-validation";val = "asdf";
EzValidation(val).customValidation(
val => (val == "asdf" ? false : true),
"Please enter valid response"
).errorMessage;
// output = "Please enter valid response"val = 123;
EzValidation(val)
.isNumber("I am not a number")
.maxValue(100, "Too large").errorMessage;
// output = "Too large"val = "I am a large string";
EzValidation(val)
.isString()
.maxLength(4)
.required().errorMessage;
// output = "Exceeds maximum length of 4"val = "I am a large string";
EzValidation(val, "DEFAULT ERROR")
.isString()
.maxLength(4)
.required().errorMessage;
// output = "DEFAULT ERROR"
```
Schema Based Validation
If you want to validate using a schema```javascript
import { schemaValidation } from "ez-validations";const values = {
noValidation: "hi",
email: "fake-email",
name: "im a cow"
};const schema = {
email: (val: string) =>
EzValidation(val)
.isEmail()
.required().errorMessage,
name: (val: string) => EzValidation(val).maxLength(2).errorMessage
};
schemaValidation(values, validationSchema);
/* output: {
email: "not a valid email",
name: "name length too long"
}
*/
``````javascript
import { schemaValidation } from "ez-validations";const values = {
noValidation: "hi",
email: "fake-email",
name: "im a cow"
};const schema = {
email: {
validate: (val: string) =>
EzValidation(val)
.isEmail()
.required().errorMessage
},
name: {
validate: (val: string) => EzValidation(val).maxLength(2).errorMessage
}
};
schemaValidation(values, schema, "validate");
/* output: {
email: "not a valid email",
name: "name length too long"
}
*/
```
Advance Custom Usage
If you have a validation method that isn't provided thats used often you can extend the ValidationAPI class to add your own methods!```javascript
import { EZValidationAPI } from "ez-validation";class CustomEzValidation extends EZValidationAPI {
customMethod() {
if (this.validating == 0) {
this._returnError("value can't be 0");
}
return this;
}
}
new CustomEZValidation(0).customMethod().errorMessage;
// "value can't be 0"
```