2.5.0 • Published 8 months ago

@comparaonline/validator-collection v2.5.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

@comparaonline/validator-collection

Multipurpose validation library for Typescript

Validators

Pattern Validator

Validates that a string follows a regex pattern:

const validator = new PatternValidator("^[0-9]*$");
validator.isValid("12345"); // true
validator.isValid("1234R"); // false

Number Validators

Greater than

const validator = new GreaterThanValidator(5);
validator.isValid(6); // true
validator.isValid(3); // false

Less than

const validator = new LessThanValidator(3);
validator.isValid(-2); // true
validator.isValid(5); // false

Credit Card Validators

Credit card number

const validator = new CreditCardNumberValidator();
validator.isValid("4556049290199451"); // true
validator.isValid("1234567890123456"); // false

CVV

const validator = new CreditCardCvvValidator();
validator.isValid("618", { creditCardNumber: "4916244676983389" }); // true
validator.isValid("6201", { creditCardNumber: "4916244676983389" }); // false

Expiration

Receives a date string in format YYYYMM

const validator = new CreditCardExpirationValidator();
validator.isValid("205001"); // true
validator.isValid("200004"); // false

Date Validators

Date format validator

const validator = new DateFormatValidator("YYYY-MM-DD");
validator.isValid("1970-12-11"); // true
validator.isValid("1999-00-00"); // false

Before date validator

const validator = new BeforeDateValidator("MM-DD-YYYY", "01-01-2020");
validator.isValid("01-01-2019"); // true
validator.isValid("02-01-2020"); // false

After date validator

const validator = new AfterDateValidator("MM-DD-YYYY", "01-01-2020");
validator.isValid("02-01-2020"); // true
validator.isValid("01-01-2019"); // false

Plate Validators

const chilePlateValidator = PlateValidatorFactory.getValidator("CL");
chilePlateValidator.isValid("wxyz12"); // true
chilePlateValidator.isValid("wxyz12", { plateType: "LightVehicle" }); // true
chilePlateValidator.isValid("AB123", {
  plateType: "Motorcycle",
  includeOldFormat: false,
}); // false

const colombiaPlateValidator = PlateValidatorFactory.getValidator("CO");
colombiaPlateValidator.isValid("AAA-123"); // true
colombiaPlateValidator.isValid("CZR-26D"); // false

const colombiaPlateValidator = PlateValidatorFactory.getValidator("CO");
colombiaPlateValidator.isValid("AAA-12", "motorcycle"); // true
colombiaPlateValidator.isValid("CZR-26D", "motorcycle"); // true
colombiaPlateValidator.isValid("CZR-266", "motorcycle"); // false

const brazilPlateValidator = PlateValidatorFactory.getValidator("BR");
brazilPlateValidator.isValid("LBM-4000"); // true
brazilPlateValidator.isValid("LBM-40000"); // false

Email Validator

const validator = new EmailValidator();
validator.isValid("test@compara.com"); // true
validator.isValid("testcompara.com"); // false

Phone validators

const chilePhoneValidator = PhoneValidatorFactory.getValidator("CL");
chilePhoneValidator.isValid("+56912345678"); // true;
chilePhoneValidator.isValid("912345678"); // false;

const colombyPhoneValidator = PhoneValidatorFactory.getValidator("CO");
colombyPhoneValidator.isValid("+573575757571"); // true
colombyPhoneValidator.isValid("+573"); // false

const brazilPhoneValidator = PhoneValidatorFactory.getValidator("BR");
brazilPhoneValidator.isValid("21934561112"); // true
brazilPhoneValidator.isValid("1098762222"); // false

National Id Validators

const chileNationalIdValidator = NationalIdValidatorFactory.getValidator("CL");
chileNationalIdValidator.isValid("11.111.111-1"); // true;
chileNationalIdValidator.isValid("17920701-k-k"); // false;

const colombyNationalIdValidator =
  NationalIdValidatorFactory.getValidator("CO");
colombyNationalIdValidator.isValid("2312345"); // true
colombyNationalIdValidator.isValid(""); // false

const brazilNationalIdValidator = NationalIdValidatorFactory.getValidator("BR");
brazilNationalIdValidator.isValid("816.309.700-00"); // true
brazilNationalIdValidator.isValid("122"); // false
brazilNationalIdValidator.matchesControlDigits("816.309.700-00"); // true
brazilNationalIdValidator.matchesControlDigits("816.309.700-01"); // false
brazilNationalIdValidator.matchesControlDigits("816.309.700.01"); // false
brazilNationalIdValidator.matchesControlDigits("81630970001"); // false

Cep Validator

const cepValidator = new CepValidator(/\b\d{5}-\d{3}\b/);
validator.isValid("87690-766"); // true
validator.isValid("87690-7668"); // false
2.5.0

8 months ago

2.4.0

12 months ago

2.3.0

1 year ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

4 years ago