ValidatesAttributes
trait ValidatesAttributes
Methods
Validate that an attribute was "accepted".
Validate that an attribute was "accepted" when another attribute has a given value.
Validate that an attribute was "declined".
Validate that an attribute was "declined" when another attribute has a given value.
Validate that an attribute is an active URL.
Get the DNS records for the given hostname.
Validate that an attribute is 7 bit ASCII.
"Break" on first validation fail.
Validate the date is before a given date.
Validate the date is before or equal a given date.
Validate the date is after a given date.
Validate the date is equal or after a given date.
Compare a given date against another using an operator.
Get the date format for an attribute if it has one.
Get the date timestamp.
Given two date/time strings, check that one is after the other.
Get a DateTime instance from a string.
Validate that an attribute contains only alphabetic characters.
Validate that an attribute contains only alpha-numeric characters, dashes, and underscores.
Validate that an attribute contains only alpha-numeric characters.
Validate that an attribute is an array.
Validate that an attribute is a list.
Validate that an array has all of the given keys.
Validate the size of an attribute is between a set of values.
Validate that an attribute is a boolean.
Validate that an attribute has a matching confirmation.
Validate an attribute contains a list of values.
Validate an attribute does not contain a list of values.
Validate that the password of the currently authenticated user matches the given value.
Validate that an attribute is a valid date.
Determine if a value is a valid date.
Validate that an attribute matches a date format.
Determine if a value matches a specific date format.
Validate that an attribute is equal to another date.
Validate that an attribute has a given number of decimal places.
Validate that an attribute is different from another attribute.
Validate that an attribute has a given number of digits.
Validate that an attribute is between a given number of digits.
Validate the dimensions of an image matches the given values.
Test if the given width and height fail any conditions.
Determine if the given parameters fail a dimension ratio check.
Validate an attribute is unique among other values.
Get the values to distinct between.
Extract the distinct values from the data.
Validate that an attribute is a valid e-mail address.
Determine if a value is a valid email address using basic RFC validation.
Validate that a value has a specific character encoding.
Validate the existence of an attribute value in a database table.
Get the number of records that exist in storage.
Validate the uniqueness of an attribute value on a given database table.
Get the excluded ID column and value for the unique rule.
Prepare the given ID for querying.
Get the extra conditions for a unique rule.
Parse the connection / table for the unique / exists rules.
Get the column name for an exists / unique query.
Guess the database column from the given attribute name.
Get the extra conditions for a unique / exists rule.
Validate the extension of a file upload attribute is in a set of defined extensions.
Validate the given value is a valid file.
Validate the given attribute is filled if it is present.
Validate that an attribute is greater than another attribute.
Validate that an attribute is less than another attribute.
Validate that an attribute is greater than or equal another attribute.
Validate that an attribute is less than or equal another attribute.
Validate that an attribute is lowercase.
Validate that an attribute is uppercase.
Validate that an attribute is a valid HEX color.
Validate the MIME type of a file is an image MIME type.
Validate an attribute is contained within a list of values.
Validate that the values of an attribute are in another attribute.
Validate that an array contains at least one of the given keys.
Validate that an attribute is an integer.
Validate that an attribute is a valid IP.
Validate that an attribute is a valid IPv4.
Validate that an attribute is a valid IPv6.
Determine if a value is a valid IP address (any version).
Determine if a value is a valid IPv4 address.
Determine if a value is a valid IPv6 address.
Validate that an attribute is a valid MAC address.
Validate the attribute is a valid JSON string.
Validate the size of an attribute is less than or equal to a maximum value.
Validate that an attribute has a maximum number of digits.
Validate the guessed extension of a file upload is in a set of file extensions.
Validate the MIME type of a file upload attribute is in a set of MIME types.
Check if PHP uploads are explicitly allowed.
Validate the size of an attribute is greater than or equal to a minimum value.
Validate that an attribute has a minimum number of digits.
Validate that an attribute is missing.
Validate that an attribute is missing when another attribute has a given value.
Validate that an attribute is missing unless another attribute has a given value.
Validate that an attribute is missing when any given attribute is present.
Validate that an attribute is missing when all given attributes are present.
Validate the value of an attribute is a multiple of a given value.
Determine if a value is an exact multiple of a divisor.
"Indicate" validation should pass if value is null.
Validate an attribute is not contained within a list of values.
Validate that an attribute is numeric.
Validate that an attribute exists even if not filled.
Validate that an attribute is present when another attribute has a given value.
Validate that an attribute is present unless another attribute has a given value.
Validate that an attribute is present when any given attribute is present.
Validate that an attribute is present when all given attributes are present.
Validate that an attribute passes a regular expression check.
Validate that an attribute does not pass a regular expression check.
Validate that a required attribute exists.
Validate that an attribute exists when another attribute has a given value.
Validate that an attribute exists when another attribute was "accepted".
Validate that an attribute exists when another attribute was "declined".
Validate that an attribute does not exist or is an empty string.
Validate that an attribute does not exist when another attribute has a given value.
Validate that an attribute does not exist when another attribute was "accepted".
Validate that an attribute does not exist when another attribute was "declined".
Validate that an attribute does not exist unless another attribute has a given value.
Validate that other attributes do not exist when this attribute exists.
Indicate that an attribute is excluded.
Indicate that an attribute should be excluded when another attribute has a given value.
Indicate that an attribute should be excluded when another attribute does not have a given value.
Validate that an attribute exists when another attribute does not have a given value.
Indicate that an attribute should be excluded when another attribute presents.
Indicate that an attribute should be excluded when another attribute is missing.
Prepare the values and the other value for validation.
Check if parameter should be converted to boolean.
Convert the given values to boolean if they are string "true" / "false".
Convert the given values to null if they are string "null".
Validate that an attribute exists when any other attribute exists.
Validate that an attribute exists when all other attributes exist.
Validate that an attribute exists when another attribute does not.
Validate that an attribute exists when all other attributes do not.
Determine if any of the given attributes fail the required test.
Determine if all of the given attributes fail the required test.
Validate that two attributes match.
Validate the size of an attribute.
"Validate" optional attributes.
Validate the attribute starts with a given substring.
Validate the attribute does not start with a given substring.
Validate the attribute ends with a given substring.
Validate the attribute does not end with a given substring.
Validate that an attribute is a string.
Validate that an attribute is a valid timezone.
Validate that an attribute is a valid URL.
Validate that an attribute is a valid ULID.
Determine if a value is a valid ULID.
Validate that an attribute is a valid UUID.
Determine if a value is a valid UUID (any version).
Get the size of an attribute.
Compute a value's "size" given a pre-resolved mode.
Check that the given value is a valid file instance.
Determine if a comparison passes between the given values.
Parse named parameters to $key => $value items.
Require a certain number of parameters to be present.
Check if the parameters are of the same type.
Adds the existing rule to the numericRules array if the attribute's value is numeric.
Trim the value if it is a string.
Ensure the exponent is within the allowed range.
Details
at line 46
bool
validateAccepted(string $attribute, mixed $value)
Validate that an attribute was "accepted".
This validation rule implies the attribute is "required".
at line 56
bool
validateAcceptedIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute was "accepted" when another attribute has a given value.
at line 76
bool
validateDeclined(string $attribute, mixed $value)
Validate that an attribute was "declined".
This validation rule implies the attribute is "required".
at line 86
bool
validateDeclinedIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute was "declined" when another attribute has a given value.
at line 104
bool
validateActiveUrl(string $attribute, mixed $value)
Validate that an attribute is an active URL.
at line 128
protected array|false
getDnsRecords(string $hostname, int $type)
Get the DNS records for the given hostname.
at line 136
bool
validateAscii(string $attribute, mixed $value)
Validate that an attribute is 7 bit ASCII.
at line 146
bool
validateBail()
"Break" on first validation fail.
Always returns true, just lets us put "bail" in rules.
at line 156
bool
validateBefore(string $attribute, mixed $value, mixed $parameters)
Validate the date is before a given date.
at line 168
bool
validateBeforeOrEqual(string $attribute, mixed $value, mixed $parameters)
Validate the date is before or equal a given date.
at line 180
bool
validateAfter(string $attribute, mixed $value, mixed $parameters)
Validate the date is after a given date.
at line 192
bool
validateAfterOrEqual(string $attribute, mixed $value, mixed $parameters)
Validate the date is equal or after a given date.
at line 204
protected bool
compareDates(string $attribute, mixed $value, array $parameters, string $operator)
Compare a given date against another using an operator.
at line 224
protected string|null
getDateFormat(string $attribute)
Get the date format for an attribute if it has one.
at line 236
protected int|null
getDateTimestamp(mixed $value)
Get the date timestamp.
at line 246
protected bool
checkDateTimeOrder(string $format, string $first, string $second, string $operator)
Given two date/time strings, check that one is after the other.
at line 266
protected DateTimeInterface|null
getDateTimeWithOptionalFormat(string $format, string $value)
Get a DateTime instance from a string.
at line 278
protected DateTimeInterface|null
getDateTime(DateTimeInterface|string $value)
Get a DateTime instance from a string with no format.
at line 292
bool
validateAlpha(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute contains only alphabetic characters.
If the 'ascii' option is passed, validate that an attribute contains only ascii alphabetic characters.
at line 306
bool
validateAlphaDash(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute contains only alpha-numeric characters, dashes, and underscores.
If the 'ascii' option is passed, validate that an attribute contains only ascii alpha-numeric characters, dashes, and underscores.
at line 323
bool
validateAlphaNum(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute contains only alpha-numeric characters.
If the 'ascii' option is passed, validate that an attribute contains only ascii alpha-numeric characters.
at line 341
bool
validateArray(string $attribute, mixed $value, array $parameters = [])
Validate that an attribute is an array.
at line 357
bool
validateList(string $attribute, mixed $value)
Validate that an attribute is a list.
at line 367
bool
validateRequiredArrayKeys(string $attribute, mixed $value, array $parameters)
Validate that an array has all of the given keys.
at line 387
bool
validateBetween(string $attribute, mixed $value, array $parameters)
Validate the size of an attribute is between a set of values.
at line 400
bool
validateBoolean(string $attribute, mixed $value, array $parameters)
Validate that an attribute is a boolean.
at line 416
bool
validateConfirmed(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute has a matching confirmation.
at line 426
bool
validateContains(string $attribute, mixed $value, mixed $parameters)
Validate an attribute contains a list of values.
at line 446
bool
validateDoesntContain(string $attribute, mixed $value, mixed $parameters)
Validate an attribute does not contain a list of values.
at line 466
protected bool
validateCurrentPassword(string $attribute, mixed $value, mixed $parameters)
Validate that the password of the currently authenticated user matches the given value.
at line 483
bool
validateDate(string $attribute, mixed $value)
Validate that an attribute is a valid date.
at line 495
protected bool
isValidDate(mixed $value)
Determine if a value is a valid date.
Accepts DateTimeInterface instances, numeric timestamps, and string date representations. Validates via strtotime() and date_parse() + checkdate() to reject dates like February 30th.
at line 519
bool
validateDateFormat(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute matches a date format.
at line 542
protected bool
matchesDateFormat(mixed $value, string $format)
Determine if a value matches a specific date format.
Creates a DateTime from the format and verifies round-trip formatting produces the same string. Catches ValueError for invalid format strings.
at line 562
bool
validateDateEquals(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is equal to another date.
at line 574
bool
validateDecimal(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute has a given number of decimal places.
at line 603
bool
validateDifferent(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is different from another attribute.
at line 625
bool
validateDigits(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute has a given number of digits.
at line 640
bool
validateDigitsBetween(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is between a given number of digits.
at line 655
bool
validateDimensions(string $attribute, mixed $value, mixed $parameters)
Validate the dimensions of an image matches the given values.
at line 692
protected bool
failsBasicDimensionChecks(array $parameters, int $width, int $height)
Test if the given width and height fail any conditions.
at line 705
protected bool
failsRatioCheck(array $parameters, int $width, int $height)
Determine if the given parameters fail a dimension ratio check.
at line 760
bool
validateDistinct(string $attribute, mixed $value, mixed $parameters)
Validate an attribute is unique among other values.
at line 774
protected array
getDistinctValues(string $attribute)
Get the values to distinct between.
at line 793
protected array
extractDistinctValues(string $attribute)
Extract the distinct values from the data.
at line 812
bool
validateEmail(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is a valid e-mail address.
at line 844
protected bool
isValidEmail(string $value)
Determine if a value is a valid email address using basic RFC validation.
Used by the inline check for the bare email rule token. The
parameterized form (email:rfc,dns,spoof,filter,...) stays in
validateEmail() and flows through the delegated path.
at line 854
bool
validateEncoding(string $attribute, mixed $value, array $parameters)
Validate that a value has a specific character encoding.
at line 870
bool
validateExists(string $attribute, mixed $value, mixed $parameters)
Validate the existence of an attribute value in a database table.
at line 901
protected int
getExistCount(mixed $connection, string $table, string $column, mixed $value, array $parameters)
Get the number of records that exist in storage.
at line 925
bool
validateUnique(string $attribute, mixed $value, mixed $parameters)
Validate the uniqueness of an attribute value on a given database table.
If a database column is not specified, the attribute will be used.
at line 972
protected array
getUniqueIds(string|null $idColumn, array $parameters)
Get the excluded ID column and value for the unique rule.
at line 982
protected int|string|null
prepareUniqueId(mixed $id)
Prepare the given ID for querying.
at line 1004
protected array
getUniqueExtra(array $parameters)
Get the extra conditions for a unique rule.
at line 1016
array
parseTable(string $table)
Parse the connection / table for the unique / exists rules.
at line 1039
bool|string
getQueryColumn(array $parameters, string $attribute)
Get the column name for an exists / unique query.
at line 1049
string
guessColumnForQuery(string $attribute)
Guess the database column from the given attribute name.
at line 1063
protected array
getExtraConditions(array $segments)
Get the extra conditions for a unique / exists rule.
at line 1081
bool
validateExtensions(string $attribute, mixed $value, array $parameters)
Validate the extension of a file upload attribute is in a set of defined extensions.
at line 1097
bool
validateFile(string $attribute, mixed $value)
Validate the given value is a valid file.
at line 1105
bool
validateFilled(string $attribute, mixed $value)
Validate the given attribute is filled if it is present.
at line 1119
bool
validateGt(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is greater than another attribute.
at line 1151
bool
validateLt(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is less than another attribute.
at line 1183
bool
validateGte(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is greater than or equal another attribute.
at line 1215
bool
validateLte(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is less than or equal another attribute.
at line 1247
bool
validateLowercase(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is lowercase.
at line 1259
bool
validateUppercase(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is uppercase.
at line 1269
bool
validateHexColor(string $attribute, mixed $value)
Validate that an attribute is a valid HEX color.
at line 1277
bool
validateImage(string $attribute, mixed $value, array $parameters = [])
Validate the MIME type of a file is an image MIME type.
at line 1293
bool
validateIn(string $attribute, mixed $value, mixed $parameters)
Validate an attribute is contained within a list of values.
at line 1313
bool
validateInArray(string $attribute, mixed $value, mixed $parameters)
Validate that the values of an attribute are in another attribute.
at line 1331
bool
validateInArrayKeys(string $attribute, mixed $value, array $parameters)
Validate that an array contains at least one of the given keys.
at line 1353
bool
validateInteger(string $attribute, mixed $value, array $parameters = [])
Validate that an attribute is an integer.
at line 1365
bool
validateIp(string $attribute, mixed $value)
Validate that an attribute is a valid IP.
at line 1373
bool
validateIpv4(string $attribute, mixed $value)
Validate that an attribute is a valid IPv4.
at line 1381
bool
validateIpv6(string $attribute, mixed $value)
Validate that an attribute is a valid IPv6.
at line 1389
protected bool
isValidIp(string $value)
Determine if a value is a valid IP address (any version).
at line 1397
protected bool
isValidIpv4(string $value)
Determine if a value is a valid IPv4 address.
at line 1405
protected bool
isValidIpv6(string $value)
Determine if a value is a valid IPv6 address.
at line 1413
bool
validateMacAddress(string $attribute, mixed $value)
Validate that an attribute is a valid MAC address.
at line 1421
bool
validateJson(string $attribute, mixed $value)
Validate the attribute is a valid JSON string.
at line 1446
bool
validateMax(string $attribute, mixed $value, mixed $parameters)
Validate the size of an attribute is less than or equal to a maximum value.
at line 1462
bool
validateMaxDigits(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute has a maximum number of digits.
at line 1476
bool
validateMimes(string $attribute, mixed $value, mixed $parameters)
Validate the guessed extension of a file upload is in a set of file extensions.
at line 1498
bool
validateMimetypes(string $attribute, mixed $value, mixed $parameters)
Validate the MIME type of a file upload attribute is in a set of MIME types.
at line 1518
protected bool
shouldBlockPhpUpload(mixed $value, array $parameters)
Check if PHP uploads are explicitly allowed.
at line 1545
bool
validateMin(string $attribute, mixed $value, mixed $parameters)
Validate the size of an attribute is greater than or equal to a minimum value.
at line 1557
bool
validateMinDigits(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute has a minimum number of digits.
at line 1573
bool
validateMissing(mixed $attribute, mixed $value, array<int, int|string> $parameters)
Validate that an attribute is missing.
at line 1583
bool
validateMissingIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is missing when another attribute has a given value.
at line 1601
bool
validateMissingUnless(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is missing unless another attribute has a given value.
at line 1619
bool
validateMissingWith(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is missing when any given attribute is present.
at line 1635
bool
validateMissingWithAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is missing when all given attributes are present.
at line 1651
bool
validateMultipleOf(string $attribute, mixed $value, mixed $parameters)
Validate the value of an attribute is a multiple of a given value.
at line 1667
protected bool
isMultipleOf(mixed $value, mixed $divisor)
Determine if a value is an exact multiple of a divisor.
Uses BigDecimal remainder for arbitrary-precision comparison. Both value and divisor must be numeric; the exception translation wrapping stays in the caller (validateMultipleOf) for non-numeric cases, but the BigDecimal exception is thrown from here since that's where the math operation lives.
at line 1700
bool
validateNullable()
"Indicate" validation should pass if value is null.
Always returns true, just lets us put "nullable" in rules.
at line 1710
bool
validateNotIn(string $attribute, mixed $value, mixed $parameters)
Validate an attribute is not contained within a list of values.
at line 1718
bool
validateNumeric(string $attribute, mixed $value, array $parameters = [])
Validate that an attribute is numeric.
at line 1730
bool
validatePresent(string $attribute, mixed $value)
Validate that an attribute exists even if not filled.
at line 1740
bool
validatePresentIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is present when another attribute has a given value.
at line 1758
bool
validatePresentUnless(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is present unless another attribute has a given value.
at line 1776
bool
validatePresentWith(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is present when any given attribute is present.
at line 1792
bool
validatePresentWithAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is present when all given attributes are present.
at line 1808
bool
validateRegex(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute passes a regular expression check.
at line 1824
bool
validateNotRegex(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute does not pass a regular expression check.
at line 1838
bool
validateRequired(string $attribute, mixed $value)
Validate that a required attribute exists.
at line 1859
bool
validateRequiredIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute has a given value.
at line 1879
bool
validateRequiredIfAccepted(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute was "accepted".
at line 1893
bool
validateRequiredIfDeclined(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute was "declined".
at line 1907
bool
validateProhibited(string $attribute, mixed $value)
Validate that an attribute does not exist or is an empty string.
at line 1915
bool
validateProhibitedIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute does not exist when another attribute has a given value.
at line 1931
bool
validateProhibitedIfAccepted(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute does not exist when another attribute was "accepted".
at line 1945
bool
validateProhibitedIfDeclined(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute does not exist when another attribute was "declined".
at line 1959
bool
validateProhibitedUnless(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute does not exist unless another attribute has a given value.
at line 1975
bool
validateProhibits(string $attribute, mixed $value, mixed $parameters)
Validate that other attributes do not exist when this attribute exists.
at line 1991
bool
validateExclude()
Indicate that an attribute is excluded.
at line 1999
bool
validateExcludeIf(string $attribute, mixed $value, mixed $parameters)
Indicate that an attribute should be excluded when another attribute has a given value.
at line 2015
bool
validateExcludeUnless(string $attribute, mixed $value, mixed $parameters)
Indicate that an attribute should be excluded when another attribute does not have a given value.
at line 2027
bool
validateRequiredUnless(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute does not have a given value.
at line 2043
bool
validateExcludeWith(string $attribute, mixed $value, mixed $parameters)
Indicate that an attribute should be excluded when another attribute presents.
at line 2057
bool
validateExcludeWithout(string $attribute, mixed $value, mixed $parameters)
Indicate that an attribute should be excluded when another attribute is missing.
at line 2073
array
parseDependentRuleParameters(array $parameters)
Prepare the values and the other value for validation.
at line 2093
protected bool
shouldConvertToBoolean(string $parameter)
Check if parameter should be converted to boolean.
at line 2101
protected array
convertValuesToBoolean(array $values)
Convert the given values to boolean if they are string "true" / "false".
at line 2118
protected array
convertValuesToNull(array $values)
Convert the given values to null if they are string "null".
at line 2128
bool
validateRequiredWith(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when any other attribute exists.
at line 2140
bool
validateRequiredWithAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when all other attributes exist.
at line 2152
bool
validateRequiredWithout(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute does not.
at line 2164
bool
validateRequiredWithoutAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when all other attributes do not.
at line 2176
protected bool
anyFailingRequired(array $attributes)
Determine if any of the given attributes fail the required test.
at line 2190
protected bool
allFailingRequired(array $attributes)
Determine if all of the given attributes fail the required test.
at line 2206
bool
validateSame(string $attribute, mixed $value, mixed $parameters)
Validate that two attributes match.
at line 2220
bool
validateSize(string $attribute, mixed $value, mixed $parameters)
Validate the size of an attribute.
at line 2232
bool
validateSometimes()
"Validate" optional attributes.
Always returns true, just lets us put sometimes in rules.
at line 2242
bool
validateStartsWith(string $attribute, mixed $value, mixed $parameters)
Validate the attribute starts with a given substring.
at line 2252
bool
validateDoesntStartWith(string $attribute, mixed $value, mixed $parameters)
Validate the attribute does not start with a given substring.
at line 2262
bool
validateEndsWith(string $attribute, mixed $value, mixed $parameters)
Validate the attribute ends with a given substring.
at line 2272
bool
validateDoesntEndWith(string $attribute, mixed $value, mixed $parameters)
Validate the attribute does not end with a given substring.
at line 2280
bool
validateString(string $attribute, mixed $value)
Validate that an attribute is a string.
at line 2288
bool
validateTimezone(string $attribute, mixed $value, array $parameters = [])
Validate that an attribute is a valid timezone.
at line 2299
bool
validateUrl(string $attribute, mixed $value, array $parameters = [])
Validate that an attribute is a valid URL.
at line 2307
bool
validateUlid(string $attribute, mixed $value)
Validate that an attribute is a valid ULID.
at line 2315
protected bool
isValidUlid(string $value)
Determine if a value is a valid ULID.
at line 2325
bool
validateUuid(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute is a valid UUID.
at line 2347
protected bool
isValidUuid(string $value)
Determine if a value is a valid UUID (any version).
Used by the inline check for the bare uuid rule token. The
parameterized form (uuid:4, uuid:max) stays in validateUuid()
and flows through the delegated path.
at line 2355
protected float|int|string
getSize(string $attribute, mixed $value)
Get the size of an attribute.
at line 2389
protected float|int|string
sizeOf(mixed $value, SizeMode $mode)
Compute a value's "size" given a pre-resolved mode.
Mirrors getSize() but takes an explicit SizeMode instead of scanning sibling rules at runtime. Uses value-first dispatch: when mode is Numeric AND the value is numeric, returns the trimmed numeric value; otherwise falls through to array count / file size / string length.
This ordering is load-bearing: a mode-first version would throw
NumberFormatException when a min:X|numeric rule runs before the
numeric type check with a non-numeric value (e.g., 'abc'). getSize()
falls back to string length in that situation; this helper must match.
at line 2409
bool
isValidFileInstance(mixed $value)
Check that the given value is a valid file instance.
at line 2423
protected bool
compare(mixed $first, mixed $second, string $operator)
Determine if a comparison passes between the given values.
at line 2440
array|null
parseNamedParameters(array $parameters)
Parse named parameters to $key => $value items.
at line 2456
void
requireParameterCount(int $count, array $parameters, string $rule)
Require a certain number of parameters to be present.
at line 2466
protected bool
isSameType(mixed $first, mixed $second)
Check if the parameters are of the same type.
at line 2474
protected void
shouldBeNumeric(string $attribute, string $rule)
Adds the existing rule to the numericRules array if the attribute's value is numeric.
at line 2484
protected mixed
trim(mixed $value)
Trim the value if it is a string.
at line 2492
protected mixed
ensureExponentWithinAllowedRange(string $attribute, mixed $value)
Ensure the exponent is within the allowed range.