2017 © Pedro PelĂĄez
 

library assert

A simple and elegant assertion and guard methods library for input validation.

image

nilportugues/assert

A simple and elegant assertion and guard methods library for input validation.

  • Thursday, August 4, 2016
  • by nilportugues
  • Repository
  • 1 Watchers
  • 6 Stars
  • 12,493 Installations
  • PHP
  • 7 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 4 Versions
  • 9 % Grown

The README.md

Assert

Build Status Coverage Status SensioLabsInsight Latest Stable Version Total Downloads License Donate, (*1)

While I know there are out there other assertion libraries I was unhappy with them, so I wrote my own., (*2)

Usage

Assertion library is really straight forward. Pass input to the method call and it will just run or throw an \Exception if it doesn't meet the requirements., (*3)

use NilPortugues\Assert\Assert;

try {
    Assert::nullOrIsLowercase(null);
    Assert::isUppercase('THIS IS GREAT');
    Assert::isNight(new \DateTime('now'));

} catch (Exception $e) {
    echo 'Did not meet the requirements, too bad!';
}

Assertion Methods

All assertion methods can be used against different data types (integer, double, objects..)., (*4)

If you try to validate data for an unexpected data type, an Exception will be thrown making your assertion fail as expected., (*5)

Most methods can be called using the "nullOr" prefix instead of the "is" prefix. For instance:, (*6)

Assert::nullOrIsLowercase('lowercase'); //OK
Assert::isLowercase(null); //raises Exception

Assertion List

All methods allow specifying a custom $message value. If not passed in, a library-defined default will be used., (*7)

Those accepting a callable as an argument, expect an Assert statement to be used inside the callable., (*8)

Generic Assertions

Assert::isRequired($value, $message = '');
Assert::isNotNull($value, $message = '');
Assert::notEquals($property, $value, $message = '');
Assert::greaterThanOrEqual($property, $value, $message = '');
Assert::greaterThan($property, $value, $message = '');
Assert::lessThanOrEqual($property, $value, $message = '');
Assert::lessThan($property, $value, $message = '');
Assert::isScalar($value, $message = '');

// nullOr assertions
Assert::nullOrNotEquals($property, $value, $message = '');
Assert::nullOrGreaterThanOrEqual($property, $value, $message = '');
Assert::nullOrGreaterThan($property, $value, $message = '');
Assert::nullOrLessThanOrEqual($property, $value, $message = '');
Assert::nullOrLessThan($property, $value, $message = '');
Assert::nullOrIsScalar($value, $message = '');

String Assertions

Assert::isString($value, $message = '')
Assert::isAlphanumeric($value, $message = '')
Assert::isAlpha($value, $message = '')
Assert::isBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::isCharset($value, $charset, $message = '')
Assert::isAllConsonants($value, $message = '')
Assert::contains($value, $contains, $identical = false, $message = '')
Assert::isControlCharacters($value, $message = '')
Assert::isDigit($value, $message = '')
Assert::endsWith($value, $contains, $identical = false, $message = '')
Assert::equals($value, $comparedValue, $identical = false, $message = '')
Assert::in($value, $haystack, $identical = false, $message = '')
Assert::hasGraphicalCharsOnly($value, $message = '')
Assert::hasLength($value, $length, $message = '')
Assert::isLowercase($value, $message = '')
Assert::notEmpty($value, $message = '')
Assert::noWhitespace($value, $message = '')
Assert::hasPrintableCharsOnly($value, $message = '')
Assert::isPunctuation($value, $message = '')
Assert::matchesRegex($value, $regex, $message = '')
Assert::isSlug($value, $message = '')
Assert::isSpace($value, $message = '')
Assert::startsWith($value, $contains, $identical = false, $message = '')
Assert::isUppercase($value, $message = '')
Assert::isVersion($value, $message = '')
Assert::isVowel($value, $message = '')
Assert::isHexDigit($value, $message = '')
Assert::hasLowercase($value, $amount = null, $message = '')
Assert::hasUppercase($value, $amount = null, $message = '')
Assert::hasNumeric($value, $amount = null, $message = '')
Assert::hasSpecialCharacters($value, $amount = null, $message = '')
Assert::isEmail($value, $message = '')
Assert::isUrl($value, $message = '')
Assert::isUUID($value, $strict = true, $message = '')
Assert::isLatitude($latitude, $message = '')
Assert::isLongitude($lontitude, $message = '')
Assert::isTimeString($value, $message = '')
Assert::isDateString($value, $message = '')
Assert::isHexColor($value, $message = '')
Assert::isIpAddress($value, $message = '')
Assert::isIpv4Address($value, $message = '')
Assert::isIpv6Address($value, $message = '')
Assert::isJson($value, $message = '')
Assert::isCreditCard($value, $message = '')
Assert::isPalindrome($value, $message = '')
Assert::isUnderScore($value, $message = '')
Assert::isTitleCase($value, $message = '')

// nullOr assertions
Assert::nullOrIsString($value, $message = '')
Assert::nullOrIsAlphanumeric($value, $message = '')
Assert::nullOrIsAlpha($value, $message = '')
Assert::nullOrIsBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::nullOrIsCharset($value, $charset, $message = '')
Assert::nullOrIsAllConsonants($value, $message = '')
Assert::nullOrContains($value, $contains, $identical = false, $message = '')
Assert::nullOrIsControlCharacters($value, $message = '')
Assert::nullOrIsDigit($value, $message = '')
Assert::nullOrEndsWith($value, $contains, $identical = false, $message = '')
Assert::nullOrEquals($value, $comparedValue, $identical = false, $message = '')
Assert::nullOrIn($value, $haystack, $identical = false, $message = '')
Assert::nullOrHasGraphicalCharsOnly($value, $message = '')
Assert::nullOrHasLength($value, $length, $message = '')
Assert::nullOrIsLowercase($value, $message = '')
Assert::nullOrNotEmpty($value, $message = '')
Assert::nullOrNoWhitespace($value, $message = '')
Assert::nullOrHasPrintableCharsOnly($value, $message = '')
Assert::nullOrIsPunctuation($value, $message = '')
Assert::nullOrMatchesRegex($value, $regex, $message = '')
Assert::nullOrIsSlug($value, $message = '')
Assert::nullOrIsSpace($value, $message = '')
Assert::nullOrStartsWith($value, $contains, $identical = false, $message = '')
Assert::nullOrIsUppercase($value, $message = '')
Assert::nullOrIsVersion($value, $message = '')
Assert::nullOrIsVowel($value, $message = '')
Assert::nullOrIsHexDigit($value, $message = '')
Assert::nullOrHasLowercase($value, $amount = null, $message = '')
Assert::nullOrHasUppercase($value, $amount = null, $message = '')
Assert::nullOrHasNumeric($value, $amount = null, $message = '')
Assert::nullOrHasSpecialCharacters($value, $amount = null, $message = '')
Assert::nullOrIsEmail($value, $message = '')
Assert::nullOrIsUrl($value, $message = '')
Assert::nullOrIsUUID($value, $strict = true, $message = '')
Assert::nullOrIsLatitude($latitude, $message = '')
Assert::nullOrIsLongitude($lontitude, $message = '')
Assert::nullOrIsTimeString($value, $message = '')
Assert::nullOrIsDateString($value, $message = '')
Assert::nullOrIsHexColor($value, $message = '')
Assert::nullOrIsIpAddress($value, $message = '')
Assert::nullOrIsIpv4Address($value, $message = '')
Assert::nullOrIsIpv6Address($value, $message = '')
Assert::nullOrIsJson($value, $message = '')
Assert::nullOrIsCreditCard($value, $message = '')
Assert::nullOrIsPalindrome($value, $message = '')
Assert::nullOrIsUnderScore($value, $message = '')
Assert::nullOrIsTitleCase($value, $message = '')

Integer Assertions

Assert::isInteger($value, $message = '')
Assert::isNotZero($value, $message = '')
Assert::isPositiveOrZero($value, $message = '')
Assert::isPositive($value, $message = '')
Assert::isNegativeOrZero($value, $message = '')
Assert::isNegative($value, $message = '')
Assert::isBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::isOdd($value, $message = '')
Assert::isEven($value, $message = '')
Assert::isMultiple($value, $multiple, $message = '')

// nullOr assertions
Assert::nullOrIsInteger($value, $message = '')
Assert::nullOrIsNotZero($value, $message = '')
Assert::nullOrIsPositiveOrZero($value, $message = '')
Assert::nullOrIsPositive($value, $message = '')
Assert::nullOrIsNegativeOrZero($value, $message = '')
Assert::nullOrIsNegative($value, $message = '')
Assert::nullOrIsBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::nullOrIsOdd($value, $message = '')
Assert::nullOrIsEven($value, $message = '')
Assert::nullOrIsMultiple($value, $multiple, $message = '')

Float & Double Assertions

Assert::isFloat($value, $message = '')
Assert::isNotZero($value, $message = '')
Assert::isPositiveOrZero($value, $message = '')
Assert::isPositive($value, $message = '')
Assert::isNegativeOrZero($value, $message = '')
Assert::isNegative($value, $message = '')
Assert::isBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::isOdd($value, $message = '')
Assert::isEven($value, $message = '')
Assert::isMultiple($value, $multiple, $message = '')

// nullOr assertions
Assert::nullOrIsFloat($value, $message = '')
Assert::nullOrIsNotZero($value, $message = '')
Assert::nullOrIsPositiveOrZero($value, $message = '')
Assert::nullOrIsPositive($value, $message = '')
Assert::nullOrIsNegativeOrZero($value, $message = '')
Assert::nullOrIsNegative($value, $message = '')
Assert::nullOrIsBetween($value, $min, $max, $inclusive = false, $message = '')
Assert::nullOrIsOdd($value, $message = '')
Assert::nullOrIsEven($value, $message = '')
Assert::nullOrIsMultiple($value, $multiple, $message = '')

Array & Collection Assertions

Assert::isArray($value, $message = '')
Assert::each($value, callable $valueValidator, callable $keyValidator = null, $message = '')
Assert::hasKeyFormat($value, callable $keyValidator, $message = '')
Assert::endsWith($haystack, $needle, $strict = false, $message = '')
Assert::contains($haystack, $needle, $strict = false, $message = '')
Assert::hasKey($value, $keyName, $message = '')
Assert::hasLength($value, $length, $message = '')
Assert::isNotEmpty($value, $message = '')
Assert::startsWith($haystack, $needle, $strict = false, $message = '')

// nullOr assertions
Assert::nullOrIsArray($value, $message = '')
Assert::nullOrEach($value, callable $valueValidator, callable $keyValidator = null, $message = '')
Assert::nullOrHasKeyFormat($value, callable $keyValidator, $message = '')
Assert::nullOrEndsWith($haystack, $needle, $strict = false, $message = '')
Assert::nullOrContains($haystack, $needle, $strict = false, $message = '')
Assert::nullOrHasKey($value, $keyName, $message = '')
Assert::nullOrHasLength($value, $length, $message = '')
Assert::nullOrIsNotEmpty($value, $message = '')
Assert::nullOrStartsWith($haystack, $needle, $strict = false, $message = '')

DateTime Assertions

Assert::isDateTime($value, $message = '')
Assert::isAfter($value, $limit, $inclusive = false, $message = '')
Assert::isBefore($value, $limit, $inclusive = false, $message = '')
Assert::isDateRange($value, $minDate, $maxDate, $inclusive = false, $message = '')
Assert::isWeekend($value, $message = '')
Assert::isWeekday($value, $message = '')
Assert::isMonday($value, $message = '')
Assert::isTuesday($value, $message = '')
Assert::isWednesday($value, $message = '')
Assert::isThursday($value, $message = '')
Assert::isFriday($value, $message = '')
Assert::isSaturday($value, $message = '')
Assert::isSunday($value, $message = '')
Assert::isToday($value, $message = '')
Assert::isYesterday($value, $message = '')
Assert::isTomorrow($value, $message = '')
Assert::isLeapYear($value, $message = '')
Assert::isMorning($value, $message = '')
Assert::isAfternoon($value, $message = '')
Assert::isEvening($value, $message = '')
Assert::isNight($value, $message = '')
Assert::isFutureDate($value, $message = '')
Assert::isPastDate($value, $message = '')
Assert::isInNextWeek($value, $message = '')
Assert::isInWeek($value, $weekNumber, $message)
Assert::isInLastWeek($value, $message = '')
Assert::isInLastMonth($value, $message = '')
Assert::isInMonth($value, $monthNumber, $message)
Assert::isInNextMonth($value, $message = '')
Assert::isInLastYear($value, $message = '')
Assert::isInYear($value, $yearNumber, $message)
Assert::isInNextYear($value, $message = '')
Assert::isFirstHalfOfYear($value, $message = '')
Assert::isSecondHalfOfYear($value, $message = '')
Assert::isTrimesterOfYear($value, $trimester, $message = '')
Assert::isQuarterOfYear($value, $quarter, $message = '')
Assert::isDayLightSavingTime($value, \DateTimeZone $timezone, $message = '')

// nullOr assertions
Assert::nullOrIsDateTime($value, $message = '')
Assert::nullOrIsAfter($value, $limit, $inclusive = false, $message = '')
Assert::nullOrIsBefore($value, $limit, $inclusive = false, $message = '')
Assert::nullOrIsDateRange($value, $minDate, $maxDate, $inclusive = false, $message = '')
Assert::nullOrIsWeekend($value, $message = '')
Assert::nullOrIsWeekday($value, $message = '')
Assert::nullOrIsMonday($value, $message = '')
Assert::nullOrIsTuesday($value, $message = '')
Assert::nullOrIsWednesday($value, $message = '')
Assert::nullOrIsThursday($value, $message = '')
Assert::nullOrIsFriday($value, $message = '')
Assert::nullOrIsSaturday($value, $message = '')
Assert::nullOrIsSunday($value, $message = '')
Assert::nullOrIsToday($value, $message = '')
Assert::nullOrIsYesterday($value, $message = '')
Assert::nullOrIsTomorrow($value, $message = '')
Assert::nullOrIsLeapYear($value, $message = '')
Assert::nullOrIsMorning($value, $message = '')
Assert::nullOrIsAfternoon($value, $message = '')
Assert::nullOrIsEvening($value, $message = '')
Assert::nullOrIsNight($value, $message = '')
Assert::nullOrIsFutureDate($value, $message = '')
Assert::nullOrIsPastDate($value, $message = '')
Assert::nullOrIsInNextWeek($value, $message = '')
Assert::nullOrIsInWeek($value, $weekNumber, $message)
Assert::nullOrIsInLastWeek($value, $message = '')
Assert::nullOrIsInLastMonth($value, $message = '')
Assert::nullOrIsInMonth($value, $monthNumber, $message)
Assert::nullOrIsInNextMonth($value, $message = '')
Assert::nullOrIsInLastYear($value, $message = '')
Assert::nullOrIsInYear($value, $yearNumber, $message)
Assert::nullOrIsInNextYear($value, $message = '')
Assert::nullOrIsFirstHalfOfYear($value, $message = '')
Assert::nullOrIsSecondHalfOfYear($value, $message = '')
Assert::nullOrIsTrimesterOfYear($value, $trimester, $message = '')
Assert::nullOrIsQuarterOfYear($value, $quarter, $message = '')
Assert::nullOrIsDayLightSavingTime($value, \DateTimeZone $timezone, $message = '')

Object Assertions

Assert::isObject($value, $message = '')
Assert::isInstanceOf($value, $instanceOf, $message = '')
Assert::hasProperty($value, $property, $message = '')
Assert::hasMethod($value, $method, $message = '')
Assert::hasParentClass($value, $message = '')
Assert::isChildOf($value, $parentClass, $message = '')
Assert::inheritsFrom($value, $inheritsClass, $message = '')
Assert::hasInterface($value, $interface, $message = '')

// nullOr assertions
Assert::nullOrIsObject($value, $message = '')
Assert::nullOrIsInstanceOf($value, $instanceOf, $message = '')
Assert::nullOrHasProperty($value, $property, $message = '')
Assert::nullOrHasMethod($value, $method, $message = '')
Assert::nullOrHasParentClass($value, $message = '')
Assert::nullOrIsChildOf($value, $parentClass, $message = '')
Assert::nullOrInheritsFrom($value, $inheritsClass, $message = '')
Assert::nullOrHasInterface($value, $interface, $message = '')

FileUpload Assertions

FileUpload Assertions look into the $_FILES global variable., (*9)

Assert::isFileUploaded($uploadName, $message = '')
Assert::isFileUploadedBetweenFileSize($uploadName, $minSize, $maxSize, $format='B', $inclusive = false, $message = '')
Assert::hasFileUploadedFileNameFormat($uploadName, callable $assertion, $message = '')
Assert::hasFileUploadedValidUploadDirectory($uploadName, $uploadDir, $message = '')
Assert::isFileUploadedNotOverwritingExistingFile($uploadName, $uploadDir, $message = '')
Assert::hasFileUploadedFileNameLength($uploadName, $size, $message = '')
Assert::isFileUploadedImage($uploadName, $message = '')
Assert::isFileUploadedMimeType($uploadName, array $allowedTypes, $message = '') 

// nullOr assertions
Assert::nullOrIsFileUploaded($uploadName, $message = '')
Assert::nullOrIsFileUploadedBetweenFileSize($uploadName, $minSize, $maxSize, $format='B', $inclusive=false, $message='')
Assert::nullOrHasFileUploadedFileNameFormat($uploadName, callable $assertion, $message = '')
Assert::nullOrHasFileUploadedValidUploadDirectory($uploadName, $uploadDir, $message = '')
Assert::nullOrIsFileUploadedNotOverwritingExistingFile($uploadName, $uploadDir, $message = '')
Assert::nullOrHasFileUploadedFileNameLength($uploadName, $size, $message = '')
Assert::nullOrIsFileUploadedImage($uploadName, $message = '')
Assert::nullOrIsFileUploadedMimeType($uploadName, array $allowedTypes, $message = '') 

Contribute

Contributions to the package are always welcome!, (*10)

Support

Get in touch with me using one of the following means:, (*11)

Authors

License

The code base is licensed under the MIT license., (*12)

The Versions

04/08 2016

dev-master

9999999-dev http://nilportugues.com

A simple and elegant assertion and guard methods library for input validation.

  Sources   Download

MIT

The Development Requires

by Nil Portugués

validator validation assert data input assertion nil portugues nilportugues

04/08 2016

1.0.2

1.0.2.0 http://nilportugues.com

A simple and elegant assertion and guard methods library for input validation.

  Sources   Download

MIT

The Development Requires

by Nil Portugués

validator validation assert data input assertion nil portugues nilportugues

06/03 2016

1.0.1

1.0.1.0 http://nilportugues.com

A simple and elegant assertion and guard methods library for input validation.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nil Portugués

validator validation assert data input assertion nil portugues nilportugues

06/02 2016

1.0.0

1.0.0.0 http://nilportugues.com

A simple and elegant assertion and guard methods library for input validation.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nil Portugués

validator validation assert data input assertion nil portugues nilportugues