PHP code example of aegisora / numeric-range-rule

1. Go to this page and download the library: Download aegisora/numeric-range-rule library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

aegisora / numeric-range-rule example snippets


if ($value < $min || $value > $max) {
    // value is out of the allowed boundary
}

use Aegisora\RuleContract\Models\Context;
use Aegisora\Rules\NumericRangeRule;

$result = NumericRangeRule::createBetween(1, 100)->validate(Context::create(42));

if ($result->isValid()) {
    // value satisfies the boundary
} else {
    // value is out of the allowed boundary
}

NumericRangeRule::createGreaterThan(3)->validate(Context::create(4));         // valid   — 4 > 3
NumericRangeRule::createGreaterThan(3)->validate(Context::create(3));         // invalid — 3 is not > 3

NumericRangeRule::createGreaterThanOrEqualTo(3)->validate(Context::create(3)); // valid   — 3 >= 3
NumericRangeRule::createGreaterThanOrEqualTo(3)->validate(Context::create(2)); // invalid — 2 < 3

NumericRangeRule::createLessThan(3)->validate(Context::create(2));            // valid   — 2 < 3
NumericRangeRule::createLessThan(3)->validate(Context::create(3));            // invalid — 3 is not < 3

NumericRangeRule::createLessThanOrEqualTo(3)->validate(Context::create(3));   // valid   — 3 <= 3
NumericRangeRule::createLessThanOrEqualTo(3)->validate(Context::create(4));   // invalid — 4 > 3

NumericRangeRule::createBetween(2, 4)->validate(Context::create(3));          // valid   — 2 <= 3 <= 4
NumericRangeRule::createBetween(2, 4)->validate(Context::create(1));          // invalid — 1 < 2

NumericRangeRule::createBetweenExclusive(2, 4)->validate(Context::create(3)); // valid   — 2 < 3 < 4
NumericRangeRule::createBetweenExclusive(2, 4)->validate(Context::create(2)); // invalid — 2 is not > 2

NumericRangeRule::createBetweenMinExclusive(2, 4)->validate(Context::create(4)); // valid    — 2 < 4 <= 4
NumericRangeRule::createBetweenMinExclusive(2, 4)->validate(Context::create(2)); // invalid  — 2 is not > 2

NumericRangeRule::createBetweenMaxExclusive(2, 4)->validate(Context::create(2)); // valid    — 2 <= 2 < 4
NumericRangeRule::createBetweenMaxExclusive(2, 4)->validate(Context::create(4)); // invalid  — 4 is not < 4

$result->isValid(); // false
$result->getFailedRuleCode(); // numeric_range_rule

use Aegisora\Guardian\Guardian;
use Aegisora\Rules\NumericRangeRule;
use App\Exceptions\InvalidAgeException;

$guardian = new Guardian();

$guardian
    ->that($age)
    ->must(NumericRangeRule::createBetween(18, 120), new InvalidAgeException())
    ->validate();