Validators ========== Here are all out of the box available validators shown with their name, a description and, if needed, their parameters. ------------------------ Basics and Miscellaneous ------------------------ Basic validators and everything else. ^^^^^^^ boolean ^^^^^^^ Validates if the given value is somehow a boolean one. Those are the accepted values: * true * false * 'true' * 'false' * 1 * 0 * '1' * '0' * 'on' * 'off' * 'yes' * 'no' ^^^^^ inSet ^^^^^ Validates if the value is in the given set. **Parameters** * set: an array of valid values ^^^^^^^^ required ^^^^^^^^ Validates if there is any value not being null or empty string. Might be one of the most used validators. ^^ or ^^ Validator to combine other validators with a logical "or". **Attention: The error result of this validator is not just a string, but an array. Example: .. code-block:: php $validator = new Validator(); $data = [ 'a' => 'invalid' ]; $rules = [ 'a' => [['or', $validator, ['email'], ['url']]] ]; $result = $validator->isValid($rules, $data); This results in the following validation result: .. code-block:: php $result = [ 'valid' => false, 'errors' => [ 'a' => [['or' => ['email', 'url']]] ] ]; **Parameters** * validator: the Validator or subclass instance which will execute the child validations * rules 1: array of rules to combine; like [['required'], ['between', 9999, 100000]] * rules 2: array of rules to combine; like [['required'], ['between', 9999, 100000]] You can add as many more rules parameters as you need. ------- Strings ------- This validators handle strings. ^^^^^^^^^^^^ alphabetical ^^^^^^^^^^^^ Validates if the given value is alphabetical meaning it contains only the characters a-z and A-Z. ^^^^^^^^^^^^^^ alphaNumerical ^^^^^^^^^^^^^^ Validates if the given value is alphanumerical meaning it contains only the characters a-z, A-Z and 0-9. ^^^^^^^^ contains ^^^^^^^^ Validates if the parameter is within the given value. **Parameters** * sub value: the value which must be within the value to validate * case sensitive: boolean value indicating whether the comparision should be case sensitive; optional, defaults to true ^^^^^ email ^^^^^ Validates if the value is in the format of an email address. ^^ ip ^^ Validates if the given value is in the format of an IPv4 or IPv6 address. ^^^^ ipv4 ^^^^ Validates if the given value is in the format of an IPv4 address. ^^^^ ipv6 ^^^^ Validates if the given value is in the format of an IPv6 address. ^^^^^^^^^^^^^ lengthBetween ^^^^^^^^^^^^^ Compares the string length of the given value and validates if it is between the given parameters. **Parameters** * min length: The minimum string length * max length: The maximum string length ^^^^^^^^^ maxLength ^^^^^^^^^ Compares the string length of the given value and validates if it is maximal the given parameter. **Parameters** * max length: The maximum string length ^^^^^^^^^ minLength ^^^^^^^^^ Compares the string length of the given value and validates if it is minimal the given parameter. **Parameters** * min length: The minimal string length ^^^^^^ regexp ^^^^^^ Validates if the given value fulfills the regular expression from the parameter. **Parameters** * regexp: the regular expression to be fulfilled ^^^^^ value ^^^^^ Validates if the given parameter is equal to the parameter. Useful for example for terms and conditions checkboxes. --------- Numerical --------- This validators handle integers and floats. ^^^^^^^ between ^^^^^^^ Validates if the given value is between two numerical values, but not equal to one of them. **Parameters** * min: The lower boundary * max: The upper boundary ^^^^^^^^ floating ^^^^^^^^ Validates if the value is in the format of a floating point number. ^^^^^^^ integer ^^^^^^^ Validates if the value is in the format of an integer number. ^^^ max ^^^ Validates if the given numerical value is maximal the given parameter. **Parameters** * max: The maximum ^^^ min ^^^ Validates if the given numerical value is minimal the given parameter. **Parameters** * min: The minimum ^^^^ slug ^^^^ Validates if the given value is a slug meaning it starts with a set of characters (a-z, 0-9) followed by an optional set of dash (-) and more characters (a-z, 0-9). Examples: foo, foo-bar, foo-bar-asd ^^^ url ^^^ Validates if the given parameter is an URL. --------------- Dates and Times --------------- This validators handle date times. ^^^^^^^^^^^^^ afterDateTime ^^^^^^^^^^^^^ Compares the given value to the date time parameter and validates if the value is after it. **Parameters** * date time: Date to compare the value to, format: Y-m-d H:i:s * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^^^^^^ beforeDateTime ^^^^^^^^^^^^^^ Compares the given value to the date time parameter and validates if the value is before it. **Parameters** * date time: Date to compare the value to, format: Y-m-d H:i:s * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^ dateTime ^^^^^^^^ Validates if the value is in the format of a date time. **Parameters** * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^^^^^^^ dateTimeBetween ^^^^^^^^^^^^^^^ Compares the given value to the date time parameters and validates if the value is between them. **Parameters** * date time min: Date time to which the value must be older, format: Y-m-d H:i:s * date time max: Date time to which the value must be younger, format: Y-m-d H:i:s * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^^^ inTheFuture ^^^^^^^^^^^ Compares the given value to the current date time and validates if the value is younger. **Parameters** * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^ inThePast ^^^^^^^^^ Compares the given value to the current date time and validates if the value is older. **Parameters** * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^ olderThan ^^^^^^^^^ Compares the given value to the first parameter date time and validates if the value is older. **Parameters** * reference date: the date to compare to * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s ^^^^^^^^^^^ youngerThan ^^^^^^^^^^^ Compares the given value to the first parameter date time and validates if the value is younger. **Parameters** * reference date: the date to compare to * date time format: To override the default date format; optional, defaults to Y-m-d H:i:s