ez-validation

Validation made Ez

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
ez-validation
1.1.54 years ago5 years agoMinified + gzip package size for ez-validation in KB

Readme

ez-validation logo
badge NPM version NPM downloads overall NPM package size
License: MIT 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


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"