Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 399 | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 399 Revision 621
Zeile 453... Zeile 453...
453
    {
453
    {
454
        $this->requireParameterCount(2, $parameters, 'between');
454
        $this->requireParameterCount(2, $parameters, 'between');
Zeile 455... Zeile 455...
455
 
455
 
456
        return with(
456
        return with(
457
            BigNumber::of($this->getSize($attribute, $value)),
457
            BigNumber::of($this->getSize($attribute, $value)),
458
            fn ($size) => $size->isGreaterThanOrEqualTo($parameters[0]) && $size->isLessThanOrEqualTo($parameters[1])
458
            fn ($size) => $size->isGreaterThanOrEqualTo($this->trim($parameters[0])) && $size->isLessThanOrEqualTo($this->trim($parameters[1]))
459
        );
459
        );
Zeile 460... Zeile 460...
460
    }
460
    }
461
 
461
 
Zeile 1096... Zeile 1096...
1096
        $comparedToValue = $this->getValue($parameters[0]);
1096
        $comparedToValue = $this->getValue($parameters[0]);
Zeile 1097... Zeile 1097...
1097
 
1097
 
Zeile 1098... Zeile 1098...
1098
        $this->shouldBeNumeric($attribute, 'Gt');
1098
        $this->shouldBeNumeric($attribute, 'Gt');
1099
 
1099
 
1100
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
1100
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
Zeile 1101... Zeile 1101...
1101
            return BigNumber::of($this->getSize($attribute, $value))->isGreaterThan($parameters[0]);
1101
            return BigNumber::of($this->getSize($attribute, $value))->isGreaterThan($this->trim($parameters[0]));
1102
        }
1102
        }
1103
 
1103
 
Zeile 1104... Zeile 1104...
1104
        if (is_numeric($parameters[0])) {
1104
        if (is_numeric($parameters[0])) {
1105
            return false;
1105
            return false;
1106
        }
1106
        }
Zeile 1107... Zeile 1107...
1107
 
1107
 
1108
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1108
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1109
            return BigNumber::of($value)->isGreaterThan($comparedToValue);
1109
            return BigNumber::of($this->trim($value))->isGreaterThan($this->trim($comparedToValue));
Zeile 1131... Zeile 1131...
1131
        $comparedToValue = $this->getValue($parameters[0]);
1131
        $comparedToValue = $this->getValue($parameters[0]);
Zeile 1132... Zeile 1132...
1132
 
1132
 
Zeile 1133... Zeile 1133...
1133
        $this->shouldBeNumeric($attribute, 'Lt');
1133
        $this->shouldBeNumeric($attribute, 'Lt');
1134
 
1134
 
1135
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
1135
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
Zeile 1136... Zeile 1136...
1136
            return BigNumber::of($this->getSize($attribute, $value))->isLessThan($parameters[0]);
1136
            return BigNumber::of($this->getSize($attribute, $value))->isLessThan($this->trim($parameters[0]));
1137
        }
1137
        }
1138
 
1138
 
Zeile 1139... Zeile 1139...
1139
        if (is_numeric($parameters[0])) {
1139
        if (is_numeric($parameters[0])) {
1140
            return false;
1140
            return false;
1141
        }
1141
        }
Zeile 1142... Zeile 1142...
1142
 
1142
 
1143
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1143
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1144
            return BigNumber::of($value)->isLessThan($comparedToValue);
1144
            return BigNumber::of($this->trim($value))->isLessThan($this->trim($comparedToValue));
Zeile 1166... Zeile 1166...
1166
        $comparedToValue = $this->getValue($parameters[0]);
1166
        $comparedToValue = $this->getValue($parameters[0]);
Zeile 1167... Zeile 1167...
1167
 
1167
 
Zeile 1168... Zeile 1168...
1168
        $this->shouldBeNumeric($attribute, 'Gte');
1168
        $this->shouldBeNumeric($attribute, 'Gte');
1169
 
1169
 
1170
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
1170
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
Zeile 1171... Zeile 1171...
1171
            return BigNumber::of($this->getSize($attribute, $value))->isGreaterThanOrEqualTo($parameters[0]);
1171
            return BigNumber::of($this->getSize($attribute, $value))->isGreaterThanOrEqualTo($this->trim($parameters[0]));
1172
        }
1172
        }
1173
 
1173
 
Zeile 1174... Zeile 1174...
1174
        if (is_numeric($parameters[0])) {
1174
        if (is_numeric($parameters[0])) {
1175
            return false;
1175
            return false;
1176
        }
1176
        }
Zeile 1177... Zeile 1177...
1177
 
1177
 
1178
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1178
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1179
            return BigNumber::of($value)->isGreaterThanOrEqualTo($comparedToValue);
1179
            return BigNumber::of($this->trim($value))->isGreaterThanOrEqualTo($this->trim($comparedToValue));
Zeile 1201... Zeile 1201...
1201
        $comparedToValue = $this->getValue($parameters[0]);
1201
        $comparedToValue = $this->getValue($parameters[0]);
Zeile 1202... Zeile 1202...
1202
 
1202
 
Zeile 1203... Zeile 1203...
1203
        $this->shouldBeNumeric($attribute, 'Lte');
1203
        $this->shouldBeNumeric($attribute, 'Lte');
1204
 
1204
 
1205
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
1205
        if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) {
Zeile 1206... Zeile 1206...
1206
            return BigNumber::of($this->getSize($attribute, $value))->isLessThanOrEqualTo($parameters[0]);
1206
            return BigNumber::of($this->getSize($attribute, $value))->isLessThanOrEqualTo($this->trim($parameters[0]));
1207
        }
1207
        }
1208
 
1208
 
Zeile 1209... Zeile 1209...
1209
        if (is_numeric($parameters[0])) {
1209
        if (is_numeric($parameters[0])) {
1210
            return false;
1210
            return false;
1211
        }
1211
        }
Zeile 1212... Zeile 1212...
1212
 
1212
 
1213
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1213
        if ($this->hasRule($attribute, $this->numericRules) && is_numeric($value) && is_numeric($comparedToValue)) {
1214
            return BigNumber::of($value)->isLessThanOrEqualTo($comparedToValue);
1214
            return BigNumber::of($this->trim($value))->isLessThanOrEqualTo($this->trim($comparedToValue));
Zeile 1401... Zeile 1401...
1401
 
1401
 
1402
        if ($value instanceof UploadedFile && ! $value->isValid()) {
1402
        if ($value instanceof UploadedFile && ! $value->isValid()) {
1403
            return false;
1403
            return false;
Zeile 1404... Zeile 1404...
1404
        }
1404
        }
1405
 
1405
 
Zeile 1406... Zeile 1406...
1406
        return BigNumber::of($this->getSize($attribute, $value))->isLessThanOrEqualTo($parameters[0]);
1406
        return BigNumber::of($this->getSize($attribute, $value))->isLessThanOrEqualTo($this->trim($parameters[0]));
1407
    }
1407
    }
1408
 
1408
 
Zeile 1503... Zeile 1503...
1503
     */
1503
     */
1504
    public function validateMin($attribute, $value, $parameters)
1504
    public function validateMin($attribute, $value, $parameters)
1505
    {
1505
    {
1506
        $this->requireParameterCount(1, $parameters, 'min');
1506
        $this->requireParameterCount(1, $parameters, 'min');
Zeile 1507... Zeile 1507...
1507
 
1507
 
1508
        return BigNumber::of($this->getSize($attribute, $value))->isGreaterThanOrEqualTo($parameters[0]);
1508
        return BigNumber::of($this->getSize($attribute, $value))->isGreaterThanOrEqualTo($this->trim($parameters[0]));
Zeile 1509... Zeile 1509...
1509
    }
1509
    }
1510
 
1510
 
1511
    /**
1511
    /**
Zeile 1590... Zeile 1590...
1590
     */
1590
     */
1591
    public function validateMissingWith($attribute, $value, $parameters)
1591
    public function validateMissingWith($attribute, $value, $parameters)
1592
    {
1592
    {
1593
        $this->requireParameterCount(1, $parameters, 'missing_with');
1593
        $this->requireParameterCount(1, $parameters, 'missing_with');
Zeile 1594... Zeile 1594...
1594
 
1594
 
-
 
1595
        if (Arr::hasAny($this->data, $parameters)) {
-
 
1596
            return $this->validateMissing($attribute, $value, $parameters);
-
 
1597
        }
-
 
1598
 
1595
        return ! Arr::hasAny($this->data, $parameters);
1599
        return true;
Zeile 1596... Zeile 1600...
1596
    }
1600
    }
1597
 
1601
 
1598
    /**
1602
    /**
Zeile 1605... Zeile 1609...
1605
     */
1609
     */
1606
    public function validateMissingWithAll($attribute, $value, $parameters)
1610
    public function validateMissingWithAll($attribute, $value, $parameters)
1607
    {
1611
    {
1608
        $this->requireParameterCount(1, $parameters, 'missing_with');
1612
        $this->requireParameterCount(1, $parameters, 'missing_with');
Zeile 1609... Zeile 1613...
1609
 
1613
 
-
 
1614
        if (Arr::has($this->data, $parameters)) {
-
 
1615
            return $this->validateMissing($attribute, $value, $parameters);
-
 
1616
        }
-
 
1617
 
1610
        return ! Arr::has($this->data, $parameters);
1618
        return true;
Zeile 1611... Zeile 1619...
1611
    }
1619
    }
1612
 
1620
 
1613
    /**
1621
    /**
Zeile 1625... Zeile 1633...
1625
        if (! $this->validateNumeric($attribute, $value) || ! $this->validateNumeric($attribute, $parameters[0])) {
1633
        if (! $this->validateNumeric($attribute, $value) || ! $this->validateNumeric($attribute, $parameters[0])) {
1626
            return false;
1634
            return false;
1627
        }
1635
        }
Zeile 1628... Zeile 1636...
1628
 
1636
 
1629
        try {
1637
        try {
1630
            $numerator = BigDecimal::of($value);
1638
            $numerator = BigDecimal::of($this->trim($value));
Zeile 1631... Zeile 1639...
1631
            $denominator = BigDecimal::of($parameters[0]);
1639
            $denominator = BigDecimal::of($this->trim($parameters[0]));
1632
 
1640
 
1633
            if ($numerator->isZero() && $denominator->isZero()) {
1641
            if ($numerator->isZero() && $denominator->isZero()) {
Zeile 1642... Zeile 1650...
1642
                return false;
1650
                return false;
1643
            }
1651
            }
Zeile 1644... Zeile 1652...
1644
 
1652
 
1645
            return $numerator->remainder($denominator)->isZero();
1653
            return $numerator->remainder($denominator)->isZero();
1646
        } catch (BrickMathException $e) {
1654
        } catch (BrickMathException $e) {
1647
            throw new MathException('An error occurred while handling the mulitple_of input values.', previous: $e);
1655
            throw new MathException('An error occurred while handling the multiple_of input values.', previous: $e);
1648
        }
1656
        }
Zeile 1649... Zeile 1657...
1649
    }
1657
    }
1650
 
1658
 
Zeile 2178... Zeile 2186...
2178
     */
2186
     */
2179
    public function validateSize($attribute, $value, $parameters)
2187
    public function validateSize($attribute, $value, $parameters)
2180
    {
2188
    {
2181
        $this->requireParameterCount(1, $parameters, 'size');
2189
        $this->requireParameterCount(1, $parameters, 'size');
Zeile 2182... Zeile 2190...
2182
 
2190
 
2183
        return BigNumber::of($this->getSize($attribute, $value))->isEqualTo($parameters[0]);
2191
        return BigNumber::of($this->getSize($attribute, $value))->isEqualTo($this->trim($parameters[0]));
Zeile 2184... Zeile 2192...
2184
    }
2192
    }
2185
 
2193
 
2186
    /**
2194
    /**
Zeile 2348... Zeile 2356...
2348
        // This method will determine if the attribute is a number, string, or file and
2356
        // This method will determine if the attribute is a number, string, or file and
2349
        // return the proper size accordingly. If it is a number, then number itself
2357
        // return the proper size accordingly. If it is a number, then number itself
2350
        // is the size. If it is a file, we take kilobytes, and for a string the
2358
        // is the size. If it is a file, we take kilobytes, and for a string the
2351
        // entire length of the string will be considered the attribute size.
2359
        // entire length of the string will be considered the attribute size.
2352
        if (is_numeric($value) && $hasNumeric) {
2360
        if (is_numeric($value) && $hasNumeric) {
2353
            return $value;
2361
            return $this->trim($value);
2354
        } elseif (is_array($value)) {
2362
        } elseif (is_array($value)) {
2355
            return count($value);
2363
            return count($value);
2356
        } elseif ($value instanceof File) {
2364
        } elseif ($value instanceof File) {
2357
            return $value->getSize() / 1024;
2365
            return $value->getSize() / 1024;
2358
        }
2366
        }
Zeile 2454... Zeile 2462...
2454
    {
2462
    {
2455
        if (is_numeric($this->getValue($attribute))) {
2463
        if (is_numeric($this->getValue($attribute))) {
2456
            $this->numericRules[] = $rule;
2464
            $this->numericRules[] = $rule;
2457
        }
2465
        }
2458
    }
2466
    }
-
 
2467
 
-
 
2468
    /**
-
 
2469
     * Trim the value if it is a string.
-
 
2470
     *
-
 
2471
     * @param  mixed  $value
-
 
2472
     * @return mixed
-
 
2473
     */
-
 
2474
    protected function trim($value)
-
 
2475
    {
-
 
2476
        return is_string($value) ? trim($value) : $value;
-
 
2477
    }
2459
}
2478
}