
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
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
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"
}
*/
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!
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"