Not Particularly Meaningful

    cb-valid
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.3 • Public • Published

    cb-valid

    It is very easy to implement in your project. Allows the use of non-decorator based validation. Use validator.js internally to perform the validation.

    Installation

    npm install cb-valid --save
    

    Note: Please use at least npm@6 when using cb-valid. From npm@6 the dependency tree is flattened, which is required by cb-valid to function properly.

    Usage

    // Valid for typescript
    import CbValid from 'cb-valid'
     
    // Valid for javascript vanilla
    const CbValid = requrie("cb-valid").default
     
    // We declare a test string to validate
     
    // We clearly know that the variable testValue does not have a valid email!
    // why will you show us the messages entered!
     
     
    const testValue = "yonicalsin"
     
    // Here you will add the validation you need
    const exps = [
     
       // We will validate if testValue is an email
       {
          // The value (isEmail) is to validate an email
          name: "isEmail",
          // Message in case the email is invalid!
          message: "Email is invalid !"
       },
       {
          // The value (minLength) is to validate at least 5 characters
          name: "minLength",
          // This attribute is necessary to validate the minimum number of characters
          data: {
             min: 5
          },
          // Message in case you do not meet the required conditions
          message: "Email needs at least 4 characters!"
       },
       {
          // The value (maxLength) is to validate a maximum of 10 characters
          name: "maxLength",
          // This attribute is necessary to validate the maximum number of characters
          data: {
             max: 9
          },
          // Message in case you do not meet the required conditions
          message: "Email needs a maximum of 10 characters!"
       }
    ]
     
    const res = CbValid(testValue, exps)
     
    /**
     * @Return
     * */
     
    /*
    {
       status: false,
       messages: [
          "Email is invalid !",
          "Email needs a maximum of 10 characters!"
       ]
    }
    */

    Passing options

    Some functions require a data parameter

    export interface Data {
       min: number
       max: number
    }

    Validation errors

    The cb-valid method returns an array ofValidationError objects. Each ValidationError is:

    {
        statusBoolean; // Returns true if everything is correct, in case something is not correct it will return false
        messages?: String[]; // Contains all nested validation errors of the property
    }

    Manual validation

    There are several method exist in the Validator that allows to perform non-decorator based validation:

    import { Validator } from "cb-valid";
     
    // Validation methods
    const validator = new Validator();
     
     
       Length(value, {
          min: @number,
          max: @number
       }) // 
       minLength(value, {
          min: @number
       })
       maxLength(value, {
          max: @number
       })
     
       isEmail(value) // Checks if the string is an email.
       isURL(value) // Checks if the string is an url.
       isFQDN(value) // Checks if the string is a fully qualified domain name (e.g. domain.com).
       isEmpty(value) // Checks if given value is empty (=== '', === null, === undefined).
       isNotEmpty(value)  // Checks if given value is not empty (!== '', !== null, !== undefined).
       isAscii(value) // Checks if the string contains ASCII chars only.
       isBase64(value) // Checks if a string is base64 encoded.
       isCreditCard(value)  // Checks if the string is a credit card.
       isCurrency(value) // Checks if the string is a valid currency amount.
       isDecimal(value) // Checks if the string is a valid decimal value.
       isFullWidth(value) // Checks if the string contains any full-width chars.
       isHexadecimal(value) // Checks if the string is a hexadecimal number.
       isHexColor(value) // Checks if the string is a hexadecimal color.
       isISIN(value) // Checks if the string is an ISIN (stock/security identifier).
       isISO31661Alpha2(value) // Check if the string is a valid ISO 3166-1 alpha-2
       isISO31661Alpha3(value) // Check if the string is a valid ISO 3166-1 alpha-3
       isISO8601(value) // Checks if the string is a valid ISO 8601 date. Use the option strict = true for additional checks for a valid date, e.g. invalidates dates like 2019-02-29.
       isISSN(value) // Checks if the string is a ISSN.
       isJSON(value) // Checks if the string is valid JSON (note: uses JSON.parse).
       isJWT(value) // Checks if the string is valid JWT.
       isLatLong(value) // Checks if the string is a valid latitude-longitude coordinate in the format lat,long
       isLowercase(value) // Checks if the string is lowercase.
       isMACAddress(value) // Checks if the string is a MAC Address.
       isMongoId(value) // Checks if the string is a valid hex-encoded representation of a MongoDB ObjectId.
       isMultibyte(value) // Checks if the string contains one or more multibyte chars.
       isPort(value) // Check if the string is a valid port number.
       isSurrogatePair(value) // Checks if the string contains any surrogate pairs chars.
       isUppercase(value) // Checks if the string is uppercase.
       isVariableWidth(value) // Checks if the string contains variable-width chars.
     
     

    Backers

    drawing

    Stay in touch

    Release notes

    See information about breaking changes and release notes.

    cb-valid v0.0.1

    License

    Nest is MIT licensed.

    Install

    npm i cb-valid

    DownloadsWeekly Downloads

    16

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    24.6 kB

    Total Files

    16

    Last publish

    Collaborators

    • yonicb
    • yonicalsin