Class StringPredicate

Hierarchy

  • Predicate<string>
    • StringPredicate

Accessors

Methods

  • Register a new validator.

    Parameters

    • validator: Validator<string>

      Validator to register.

    Returns this

  • Test a string to end with a specific value.

    Parameters

    • searchString: string

      The value that should be the end of the string.

    Returns this

  • Test a string to be equal to a specified string.

    Parameters

    • expected: string

      Expected value to match.

    Returns this

  • Test a string to include a specific value.

    Parameters

    • searchString: string

      The value that should be included in the string.

    Returns this

  • Test if the value matches a custom validation function. The validation function should return true if the value passes the function. If the function either returns false or a string, the function fails and the string will be used as error message.

    Parameters

    • validator: ((value) => string | boolean)

      Validation function.

        • (value): string | boolean
        • Parameters

          • value: string

          Returns string | boolean

    Returns this

  • Test a string to have a specific length.

    Parameters

    • length: number

      The length of the string.

    Returns this

  • Test a string against a regular expression.

    Parameters

    • regex: RegExp

      The regular expression to match the value with.

    Returns this

  • Test a string to have a maximum length.

    Parameters

    • length: number

      The maximum length of the string.

    Returns this

  • Provide a new error message to be thrown when the validation fails.

    Parameters

    • newMessage: string | ValidatorMessageBuilder<string>

      Either a string containing the new message or a function returning the new message.

    Returns this

    Example

    ow('🌈', 'unicorn', ow.string.equals('🦄').message('Expected unicorn, got rainbow'));
    //=> ArgumentError: Expected unicorn, got rainbow

    Example

    ow('🌈', ow.string.minLength(5).message((value, label) => `Expected ${label}, to have a minimum length of 5, got \`${value}\``));
    //=> ArgumentError: Expected string, to be have a minimum length of 5, got `🌈`
  • Test a string to have a minimum length.

    Parameters

    • length: number

      The minimum length of the string.

    Returns this

  • Test if the string is an element of the provided list.

    Parameters

    • list: readonly string[]

      List of possible values.

    Returns this

  • Test a string to start with a specific value.

    Parameters

    • searchString: string

      The value that should be the start of the string.

    Returns this

  • Test if the value matches a custom validation function. The validation function should return an object containing a validator and message. If the validator is false, the validation fails and the message will be used as error message. If the message is a function, the function is invoked with the label as argument to let you further customize the error message.

    Parameters

    • customValidator: CustomValidator<string>

      Custom validation function.

    Returns this