2.11.0 • Published 8 months ago

@comparaonline/validator-collection v2.11.0

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

@comparaonline/validator-collection

Multipurpose validation library for Typescript

Validators

Cep Validator

const cepValidator = new CepValidator(/\b\d{5}-\d{3}\b/);
validator.isValid("87690-766"); // true
validator.isValid("87690-7668"); // 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
validator.isEqualTo("01-01-2020"); // true
validator.isEqualTo("01-02-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

Email Validator

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

Logic Validators

And validator

const validator = new AndValidator();
validator.isValid(true, true); // true
validator.isValid(true, false); // false

Xor date validator

const validator = new XorValidator();
validator.isValid(true, true); // false
validator.isValid(true, false); // true
validator.isValid(false, false); // 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

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

Pattern Validator

Validates that a string follows a regex pattern:

const validator = new PatternValidator("^[0-9]*$");
validator.isValid("12345"); // true
validator.isValid("1234R"); // 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

Plate Validators

import { VehicleType, PlateValidatorFactory } from '@comparaonline/validator-collection';

const chilePlateValidator = PlateValidatorFactory.getValidator("CL");

chilePlateValidator.isValid("wxyz12"); // true
chilePlateValidator.isValid("wxyz12", { vehicleType: VehicleType.CAR }); // true
chilePlateValidator.isValid("AB123", {
  vehicleType: VehicleType.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", VehicleType.MOTORCYCLE); // true
colombiaPlateValidator.isValid("CZR-26D", VehicleType.MOTORCYCLE); // true
colombiaPlateValidator.isValid("CZR-266", VehicleType.MOTORCYCLE); // false

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

8 months ago

2.10.0

9 months ago

2.7.0

11 months ago

2.6.1

12 months ago

2.6.0

12 months ago

2.9.0

10 months ago

2.8.1

11 months ago

2.8.0

11 months ago

2.6.2

12 months ago

2.8.2

11 months ago

2.5.0

1 year ago

2.4.0

1 year ago

2.3.0

2 years 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

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago