Validator
class Validator implements Validator (View source)
Properties
protected TranslatorInterface | $translator | The Translator implementation. | |
protected PresenceVerifierInterface | $presenceVerifier | The Presence Verifier implementation. | |
protected Container | $container | The container instance. | |
protected array | $failedRules | The failed validation rules. | |
protected MessageBag | $messages | The message bag instance. | |
protected array | $data | The data under validation. | |
protected array | $initialRules | The initial rules provided. | |
protected array | $rules | The rules to be applied to the data. | |
protected array | $implicitAttributes | The array of wildcard attributes with their asterisks expanded. | |
protected array | $after | All of the registered "after" callbacks. | |
protected array | $customMessages | The array of custom error messages. | |
protected array | $fallbackMessages | The array of fallback error messages. | |
protected array | $customAttributes | The array of custom attribute names. | |
protected array | $customValues | The array of custom displayable values. | |
protected array | $extensions | All of the custom validator extensions. | |
protected array | $replacers | All of the custom replacer extensions. | |
protected array | $sizeRules | The size related validation rules. | |
protected array | $fileRules | The validation rules that may be applied to files. | |
protected array | $numericRules | The numeric related validation rules. | |
protected array | $implicitRules | The validation rules that imply the field is required. | |
protected array | $dependentRules | The validation rules which depend on other fields as parameters. |
Methods
void | __construct(TranslatorInterface $translator, array $data, array $rules, array $messages = [], array $customAttributes = []) Create a new Validator instance. | |
array | parseData(array $data) Parse the data array. | |
array | explodeRules(array $rules) Explode the rules into an array of rules. | |
$this | after(callable|string $callback) After an after validation callback. | |
void | sometimes(string $attribute, string|array $rules, callable $callback) Add conditions to a given field based on a Closure. | |
void | each(string $attribute, string|array $rules) Define a set of rules that apply to each element in an array attribute. | |
array | initializeAttributeOnData(string $attribute) Gather a copy of the attribute data filled with any missing attributes. | |
array | extractValuesForWildcards(array $data, string $attribute) Get all of the exact attribute values for a given wildcard attribute. | |
$this | mergeRules(string $attribute, string|array $rules = []) Merge additional rules into a given attribute(s). | |
$this | mergeRulesForAttribute(string $attribute, string|array $rules) Merge additional rules into a given attribute. | |
bool | passes() Determine if the data passes the validation rules. | |
bool | fails() Determine if the data fails the validation rules. | |
void | validate() Run the validator's rules against its data. | |
void | validateAttribute(string $attribute, string $rule) Validate a given attribute against a rule. | |
array | valid() Returns the data which was valid. | |
array | invalid() Returns the data which was invalid. | |
array | attributesThatHaveMessages() Generate an array of all attributes that have messages. | |
mixed | getValue(string $attribute) Get the value of a given attribute. | |
bool | isValidatable(string $rule, string $attribute, mixed $value) Determine if the attribute is validatable. | |
bool | presentOrRuleIsImplicit(string $rule, string $attribute, mixed $value) Determine if the field is present, or the rule implies required. | |
bool | passesOptionalCheck(string $attribute) Determine if the attribute passes any optional check. | |
bool | isNotNullIfMarkedAsNullable(string $attribute, mixed $value) Determine if the attribute fails the nullable check. | |
bool | isImplicit(string $rule) Determine if a given rule implies the attribute is required. | |
bool | hasNotFailedPreviousRuleIfPresenceRule(string $rule, string $attribute) Determine if it's a necessary presence validation. | |
void | addFailure(string $attribute, string $rule, array $parameters) Add a failed rule and error message to the collection. | |
void | addError(string $attribute, string $rule, array $parameters) Add an error message to the validator's collection of messages. | |
bool | validateSometimes() "Validate" optional attributes. | |
bool | validateNullable() "Indicate" validation should pass if value is null. | |
bool | validateBail() "Break" on first validation fail. | |
bool | shouldStopValidating(string $attribute) Check if we should stop further validations on a given attribute. | |
bool | validateRequired(string $attribute, mixed $value) Validate that a required attribute exists. | |
bool | validatePresent(string $attribute, mixed $value) Validate that an attribute exists even if not filled. | |
bool | validateFilled(string $attribute, mixed $value) Validate the given attribute is filled if it is present. | |
bool | anyFailingRequired(array $attributes) Determine if any of the given attributes fail the required test. | |
bool | allFailingRequired(array $attributes) Determine if all of the given attributes fail the required test. | |
bool | validateRequiredWith(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when any other attribute exists. | |
bool | validateRequiredWithAll(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when all other attributes exists. | |
bool | validateRequiredWithout(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when another attribute does not. | |
bool | validateRequiredWithoutAll(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when all other attributes do not. | |
bool | validateRequiredIf(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when another attribute has a given value. | |
bool | validateRequiredUnless(string $attribute, mixed $value, mixed $parameters) Validate that an attribute exists when another attribute does not have a given value. | |
int | getPresentCount(array $attributes) Get the number of attributes in a list that are present. | |
bool | validateInArray(string $attribute, mixed $value, array $parameters) Validate that the values of an attribute is in another attribute. | |
bool | validateConfirmed(string $attribute, mixed $value) Validate that an attribute has a matching confirmation. | |
bool | validateSame(string $attribute, mixed $value, array $parameters) Validate that two attributes match. | |
bool | validateDifferent(string $attribute, mixed $value, array $parameters) Validate that an attribute is different from another attribute. | |
bool | validateAccepted(string $attribute, mixed $value) Validate that an attribute was "accepted". | |
bool | validateArray(string $attribute, mixed $value) Validate that an attribute is an array. | |
bool | validateBoolean(string $attribute, mixed $value) Validate that an attribute is a boolean. | |
bool | validateInteger(string $attribute, mixed $value) Validate that an attribute is an integer. | |
bool | validateNumeric(string $attribute, mixed $value) Validate that an attribute is numeric. | |
bool | validateString(string $attribute, mixed $value) Validate that an attribute is a string. | |
bool | validateJson(string $attribute, mixed $value) Validate the attribute is a valid JSON string. | |
bool | validateDigits(string $attribute, mixed $value, array $parameters) Validate that an attribute has a given number of digits. | |
bool | validateDigitsBetween(string $attribute, mixed $value, array $parameters) Validate that an attribute is between a given number of digits. | |
bool | validateSize(string $attribute, mixed $value, array $parameters) Validate the size of an attribute. | |
bool | validateBetween(string $attribute, mixed $value, array $parameters) Validate the size of an attribute is between a set of values. | |
bool | validateMin(string $attribute, mixed $value, array $parameters) Validate the size of an attribute is greater than a minimum value. | |
bool | validateMax(string $attribute, mixed $value, array $parameters) Validate the size of an attribute is less than a maximum value. | |
mixed | getSize(string $attribute, mixed $value) Get the size of an attribute. | |
bool | validateIn(string $attribute, mixed $value, array $parameters) Validate an attribute is contained within a list of values. | |
bool | validateNotIn(string $attribute, mixed $value, array $parameters) Validate an attribute is not contained within a list of values. | |
bool | validateDistinct(string $attribute, mixed $value, array $parameters) Validate an attribute is unique among other values. | |
bool | validateUnique(string $attribute, mixed $value, array $parameters) Validate the uniqueness of an attribute value on a given database table. | |
array | parseTable(string $table) Parse the connection / table for the unique / exists rules. | |
array | getUniqueIds(array $parameters) Get the excluded ID column and value for the unique rule. | |
array | getUniqueExtra(array $parameters) Get the extra conditions for a unique rule. | |
bool | validateExists(string $attribute, mixed $value, array $parameters) Validate the existence of an attribute value in a database table. | |
int | getExistCount(mixed $connection, string $table, string $column, mixed $value, array $parameters) Get the number of records that exist in storage. | |
array | getExtraExistConditions(array $parameters) Get the extra exist conditions. | |
array | getExtraConditions(array $segments) Get the extra conditions for a unique / exists rule. | |
string | guessColumnForQuery(string $attribute) Guess the database column from the given attribute name. | |
bool | validateIp(string $attribute, mixed $value) Validate that an attribute is a valid IP. | |
bool | validateEmail(string $attribute, mixed $value) Validate that an attribute is a valid e-mail address. | |
bool | validateUrl(string $attribute, mixed $value) Validate that an attribute is a valid URL. | |
bool | validateActiveUrl(string $attribute, mixed $value) Validate that an attribute is an active URL. | |
bool | validateFile(string $attribute, mixed $value) Validate the given value is a valid file. | |
bool | validateImage(string $attribute, mixed $value) Validate the MIME type of a file is an image MIME type. | |
bool | validateDimensions(string $attribute, mixed $value, array $parameters) Validate the dimensions of an image matches the given values. | |
bool | validateMimes(string $attribute, mixed $value, array $parameters) Validate the guessed extension of a file upload is in a set of file extensions. | |
bool | validateMimetypes(string $attribute, mixed $value, array $parameters) Validate the MIME type of a file upload attribute is in a set of MIME types. | |
shouldBlockPhpUpload($value, $parameters) No description | ||
bool | isAValidFileInstance(mixed $value) Check that the given value is a valid file instance. | |
bool | validateAlpha(string $attribute, mixed $value) Validate that an attribute contains only alphabetic characters. | |
bool | validateAlphaNum(string $attribute, mixed $value) Validate that an attribute contains only alpha-numeric characters. | |
bool | validateAlphaDash(string $attribute, mixed $value) Validate that an attribute contains only alpha-numeric characters, dashes, and underscores. | |
bool | validateRegex(string $attribute, mixed $value, array $parameters) Validate that an attribute passes a regular expression check. | |
bool | validateDate(string $attribute, mixed $value) Validate that an attribute is a valid date. | |
bool | validateDateFormat(string $attribute, mixed $value, array $parameters) Validate that an attribute matches a date format. | |
bool | validateBefore(string $attribute, mixed $value, array $parameters) Validate the date is before a given date. | |
bool | validateBeforeOrEqual(string $attribute, mixed $value, array $parameters) Validate the date is before or equal a given date. | |
bool | validateAfter(string $attribute, mixed $value, array $parameters) Validate the date is after a given date. | |
bool | validateAfterOrEqual(string $attribute, mixed $value, array $parameters) Validate the date is equal or after a given date. | |
bool | compareDates(string $attribute, mixed $value, array $parameters, string $operator) Compare a given date against another using an operator. | |
bool | checkDateTimeOrder(string $format, string $first, string $second, string $operator) Given two date/time strings, check that one is after the other. | |
DateTime|null | getDateTimeWithOptionalFormat(string $format, string $value) Get a DateTime instance from a string. | |
bool | validateTimezone(string $attribute, mixed $value) Validate that an attribute is a valid timezone. | |
string|null | getDateFormat(string $attribute) Get the date format for an attribute if it has one. | |
int | getDateTimestamp(mixed $value) Get the date timestamp. | |
string | getMessage(string $attribute, string $rule) Get the validation message for an attribute and rule. | |
string|null | getInlineMessage(string $attribute, string $lowerRule, array $source = null) Get the inline message for a rule if it exists. | |
string | getCustomMessageFromTranslator(string $customKey) Get the custom error message from translator. | |
string | getSizeMessage(string $attribute, string $rule) Get the proper error message for an attribute and size rule. | |
string | getAttributeType(string $attribute) Get the data type of the given attribute. | |
string | doReplacements(string $message, string $attribute, string $rule, array $parameters) Replace all error message place-holders with actual values. | |
array | getAttributeList(array $values) Transform an array of attributes to their displayable form. | |
string | getAttribute(string $attribute) Get the displayable name of the attribute. | |
string | getPrimaryAttribute(string $attribute) Get the primary attribute name. | |
string | getDisplayableValue(string $attribute, mixed $value) Get the displayable name of the value. | |
string | replaceBetween(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the between rule. | |
string | replaceDateFormat(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the date_format rule. | |
string | replaceDifferent(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the different rule. | |
string | replaceDigits(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the digits rule. | |
string | replaceDigitsBetween(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the digits (between) rule. | |
string | replaceMin(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the min rule. | |
string | replaceMax(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the max rule. | |
string | replaceIn(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the in rule. | |
string | replaceNotIn(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the not_in rule. | |
string | replaceInArray(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the in_array rule. | |
string | replaceMimetypes(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the mimetypes rule. | |
string | replaceMimes(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the mimes rule. | |
string | replaceRequiredWith(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_with rule. | |
string | replaceRequiredWithAll(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_with_all rule. | |
string | replaceRequiredWithout(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_without rule. | |
string | replaceRequiredWithoutAll(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_without_all rule. | |
string | replaceSize(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the size rule. | |
string | replaceRequiredIf(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_if rule. | |
string | replaceRequiredUnless(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the required_unless rule. | |
string | replaceSame(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the same rule. | |
string | replaceBefore(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the before rule. | |
string | replaceAfter(string $message, string $attribute, string $rule, array $parameters) Replace all place-holders for the after rule. | |
array | attributes() Get all attributes. | |
bool | hasAttribute(string $attribute) Checks if an attribute exists. | |
bool | hasRule(string $attribute, string|array $rules) Determine if the given attribute has a rule in the given set. | |
array|null | getRule(string $attribute, string|array $rules) Get a rule and its parameters for a given attribute. | |
array | parseRule(array|string $rules) Extract the rule name and parameters from a rule. | |
array | parseArrayRule(array $rules) Parse an array based rule. | |
array | parseStringRule(string $rules) Parse a string based rule. | |
array | parseParameters(string $rule, string $parameter) Parse a parameter list. | |
array | parseNamedParameters(array $parameters) Parse named parameters to $key => $value items. | |
string | normalizeRule(string $rule) Normalizes a rule so that we can accept short types. | |
bool | dependsOnOtherFields(string $rule) Determine if the given rule depends on other fields. | |
array | getExplicitKeys(string $attribute) Get the explicit keys from an attribute flattened with dot notation. | |
string | getLeadingExplicitAttributePath(string $attribute) Get the explicit part of the attribute name. | |
array | extractDataFromPath(string $attribute) Extract data based on the given dot-notated path. | |
array | replaceAsterisksInParameters(array $parameters, array $keys) Replace each field parameter which has asterisks with the given keys. | |
string | replaceAsterisksWithKeys(string $field, array $keys) Replace asterisks with explicit keys. | |
array | getExtensions() Get the array of custom validator extensions. | |
void | addExtensions(array $extensions) Register an array of custom validator extensions. | |
void | addImplicitExtensions(array $extensions) Register an array of custom implicit validator extensions. | |
void | addExtension(string $rule, Closure|string $extension) Register a custom validator extension. | |
void | addImplicitExtension(string $rule, Closure|string $extension) Register a custom implicit validator extension. | |
array | getReplacers() Get the array of custom validator message replacers. | |
void | addReplacers(array $replacers) Register an array of custom validator message replacers. | |
void | addReplacer(string $rule, Closure|string $replacer) Register a custom validator message replacer. | |
array | getData() Get the data under validation. | |
$this | setData(array $data) Set the data under validation. | |
array | getRules() Get the validation rules. | |
$this | setRules(array $rules) Set the validation rules. | |
$this | setAttributeNames(array $attributes) Set the custom attributes on the validator. | |
$this | setValueNames(array $values) Set the custom values on the validator. | |
PresenceVerifierInterface | getPresenceVerifier() Get the Presence Verifier implementation. | |
void | setPresenceVerifier(PresenceVerifierInterface $presenceVerifier) Set the Presence Verifier implementation. | |
TranslatorInterface | getTranslator() Get the Translator implementation. | |
void | setTranslator(TranslatorInterface $translator) Set the Translator implementation. | |
array | getCustomMessages() Get the custom messages for the validator. | |
void | setCustomMessages(array $messages) Set the custom messages for the validator. | |
array | getCustomAttributes() Get the custom attributes used by the validator. | |
$this | addCustomAttributes(array $customAttributes) Add custom attributes to the validator. | |
array | getCustomValues() Get the custom values for the validator. | |
$this | addCustomValues(array $customValues) Add the custom values for the validator. | |
array | getFallbackMessages() Get the fallback messages for the validator. | |
void | setFallbackMessages(array $messages) Set the fallback messages for the validator. | |
array | failed() Get the failed validation rules. | |
MessageBag | messages() Get the message container for the validator. | |
MessageBag | errors() An alternative more semantic shortcut to the message container. | |
MessageBag | getMessageBag() Get the messages for the instance. | |
void | setContainer(Container $container) Set the IoC container instance. | |
bool|null | callExtension(string $rule, array $parameters) Call a custom validator extension. | |
bool | callClassBasedExtension(string $callback, array $parameters) Call a class based validator extension. | |
string|null | callReplacer(string $message, string $attribute, string $rule, array $parameters) Call a custom validator message replacer. | |
string | callClassBasedReplacer(string $callback, string $message, string $attribute, string $rule, array $parameters) Call a class based validator message replacer. | |
void | requireParameterCount(int $count, array $parameters, string $rule) Require a certain number of parameters to be present. | |
bool | compare(mixed $first, mixed $second, string $operator) Determine if a comparison passes between the given values. | |
mixed | __call(string $method, array $parameters) Handle dynamic calls to class methods. |
Details
void __construct(TranslatorInterface $translator, array $data, array $rules, array $messages = [], array $customAttributes = [])
Create a new Validator instance.
array parseData(array $data)
Parse the data array.
protected array explodeRules(array $rules)
Explode the rules into an array of rules.
$this after(callable|string $callback)
After an after validation callback.
void sometimes(string $attribute, string|array $rules, callable $callback)
Add conditions to a given field based on a Closure.
void each(string $attribute, string|array $rules)
Define a set of rules that apply to each element in an array attribute.
protected array initializeAttributeOnData(string $attribute)
Gather a copy of the attribute data filled with any missing attributes.
array extractValuesForWildcards(array $data, string $attribute)
Get all of the exact attribute values for a given wildcard attribute.
$this mergeRules(string $attribute, string|array $rules = [])
Merge additional rules into a given attribute(s).
protected $this mergeRulesForAttribute(string $attribute, string|array $rules)
Merge additional rules into a given attribute.
bool passes()
Determine if the data passes the validation rules.
bool fails()
Determine if the data fails the validation rules.
void validate()
Run the validator's rules against its data.
protected void validateAttribute(string $attribute, string $rule)
Validate a given attribute against a rule.
array valid()
Returns the data which was valid.
array invalid()
Returns the data which was invalid.
protected array attributesThatHaveMessages()
Generate an array of all attributes that have messages.
protected mixed getValue(string $attribute)
Get the value of a given attribute.
protected bool isValidatable(string $rule, string $attribute, mixed $value)
Determine if the attribute is validatable.
protected bool presentOrRuleIsImplicit(string $rule, string $attribute, mixed $value)
Determine if the field is present, or the rule implies required.
protected bool passesOptionalCheck(string $attribute)
Determine if the attribute passes any optional check.
protected bool isNotNullIfMarkedAsNullable(string $attribute, mixed $value)
Determine if the attribute fails the nullable check.
protected bool isImplicit(string $rule)
Determine if a given rule implies the attribute is required.
protected bool hasNotFailedPreviousRuleIfPresenceRule(string $rule, string $attribute)
Determine if it's a necessary presence validation.
This is to avoid possible database type comparison errors.
protected void addFailure(string $attribute, string $rule, array $parameters)
Add a failed rule and error message to the collection.
protected void addError(string $attribute, string $rule, array $parameters)
Add an error message to the validator's collection of messages.
protected bool validateSometimes()
"Validate" optional attributes.
Always returns true, just lets us put sometimes in rules.
protected bool validateNullable()
"Indicate" validation should pass if value is null.
Always returns true, just lets us put "nullable" in rules.
protected bool validateBail()
"Break" on first validation fail.
Always returns true, just lets us put "bail" in rules.
protected bool shouldStopValidating(string $attribute)
Check if we should stop further validations on a given attribute.
protected bool validateRequired(string $attribute, mixed $value)
Validate that a required attribute exists.
protected bool validatePresent(string $attribute, mixed $value)
Validate that an attribute exists even if not filled.
protected bool validateFilled(string $attribute, mixed $value)
Validate the given attribute is filled if it is present.
protected bool anyFailingRequired(array $attributes)
Determine if any of the given attributes fail the required test.
protected bool allFailingRequired(array $attributes)
Determine if all of the given attributes fail the required test.
protected bool validateRequiredWith(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when any other attribute exists.
protected bool validateRequiredWithAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when all other attributes exists.
protected bool validateRequiredWithout(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute does not.
protected bool validateRequiredWithoutAll(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when all other attributes do not.
protected bool validateRequiredIf(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute has a given value.
protected bool validateRequiredUnless(string $attribute, mixed $value, mixed $parameters)
Validate that an attribute exists when another attribute does not have a given value.
protected int getPresentCount(array $attributes)
Get the number of attributes in a list that are present.
protected bool validateInArray(string $attribute, mixed $value, array $parameters)
Validate that the values of an attribute is in another attribute.
protected bool validateConfirmed(string $attribute, mixed $value)
Validate that an attribute has a matching confirmation.
protected bool validateSame(string $attribute, mixed $value, array $parameters)
Validate that two attributes match.
protected bool validateDifferent(string $attribute, mixed $value, array $parameters)
Validate that an attribute is different from another attribute.
protected bool validateAccepted(string $attribute, mixed $value)
Validate that an attribute was "accepted".
This validation rule implies the attribute is "required".
protected bool validateArray(string $attribute, mixed $value)
Validate that an attribute is an array.
protected bool validateBoolean(string $attribute, mixed $value)
Validate that an attribute is a boolean.
protected bool validateInteger(string $attribute, mixed $value)
Validate that an attribute is an integer.
protected bool validateNumeric(string $attribute, mixed $value)
Validate that an attribute is numeric.
protected bool validateString(string $attribute, mixed $value)
Validate that an attribute is a string.
protected bool validateJson(string $attribute, mixed $value)
Validate the attribute is a valid JSON string.
protected bool validateDigits(string $attribute, mixed $value, array $parameters)
Validate that an attribute has a given number of digits.
protected bool validateDigitsBetween(string $attribute, mixed $value, array $parameters)
Validate that an attribute is between a given number of digits.
protected bool validateSize(string $attribute, mixed $value, array $parameters)
Validate the size of an attribute.
protected bool validateBetween(string $attribute, mixed $value, array $parameters)
Validate the size of an attribute is between a set of values.
protected bool validateMin(string $attribute, mixed $value, array $parameters)
Validate the size of an attribute is greater than a minimum value.
protected bool validateMax(string $attribute, mixed $value, array $parameters)
Validate the size of an attribute is less than a maximum value.
protected mixed getSize(string $attribute, mixed $value)
Get the size of an attribute.
protected bool validateIn(string $attribute, mixed $value, array $parameters)
Validate an attribute is contained within a list of values.
protected bool validateNotIn(string $attribute, mixed $value, array $parameters)
Validate an attribute is not contained within a list of values.
protected bool validateDistinct(string $attribute, mixed $value, array $parameters)
Validate an attribute is unique among other values.
protected bool validateUnique(string $attribute, mixed $value, array $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.
protected array parseTable(string $table)
Parse the connection / table for the unique / exists rules.
protected array getUniqueIds(array $parameters)
Get the excluded ID column and value for the unique rule.
protected array getUniqueExtra(array $parameters)
Get the extra conditions for a unique rule.
protected bool validateExists(string $attribute, mixed $value, array $parameters)
Validate the existence of an attribute value in a database table.
protected int getExistCount(mixed $connection, string $table, string $column, mixed $value, array $parameters)
Get the number of records that exist in storage.
protected array getExtraExistConditions(array $parameters)
Get the extra exist conditions.
protected array getExtraConditions(array $segments)
Get the extra conditions for a unique / exists rule.
string guessColumnForQuery(string $attribute)
Guess the database column from the given attribute name.
protected bool validateIp(string $attribute, mixed $value)
Validate that an attribute is a valid IP.
protected bool validateEmail(string $attribute, mixed $value)
Validate that an attribute is a valid e-mail address.
protected bool validateUrl(string $attribute, mixed $value)
Validate that an attribute is a valid URL.
protected bool validateActiveUrl(string $attribute, mixed $value)
Validate that an attribute is an active URL.
protected bool validateFile(string $attribute, mixed $value)
Validate the given value is a valid file.
protected bool validateImage(string $attribute, mixed $value)
Validate the MIME type of a file is an image MIME type.
protected bool validateDimensions(string $attribute, mixed $value, array $parameters)
Validate the dimensions of an image matches the given values.
protected bool validateMimes(string $attribute, mixed $value, array $parameters)
Validate the guessed extension of a file upload is in a set of file extensions.
protected bool validateMimetypes(string $attribute, mixed $value, array $parameters)
Validate the MIME type of a file upload attribute is in a set of MIME types.
protected shouldBlockPhpUpload($value, $parameters)
bool isAValidFileInstance(mixed $value)
Check that the given value is a valid file instance.
protected bool validateAlpha(string $attribute, mixed $value)
Validate that an attribute contains only alphabetic characters.
protected bool validateAlphaNum(string $attribute, mixed $value)
Validate that an attribute contains only alpha-numeric characters.
protected bool validateAlphaDash(string $attribute, mixed $value)
Validate that an attribute contains only alpha-numeric characters, dashes, and underscores.
protected bool validateRegex(string $attribute, mixed $value, array $parameters)
Validate that an attribute passes a regular expression check.
protected bool validateDate(string $attribute, mixed $value)
Validate that an attribute is a valid date.
protected bool validateDateFormat(string $attribute, mixed $value, array $parameters)
Validate that an attribute matches a date format.
protected bool validateBefore(string $attribute, mixed $value, array $parameters)
Validate the date is before a given date.
protected bool validateBeforeOrEqual(string $attribute, mixed $value, array $parameters)
Validate the date is before or equal a given date.
protected bool validateAfter(string $attribute, mixed $value, array $parameters)
Validate the date is after a given date.
protected bool validateAfterOrEqual(string $attribute, mixed $value, array $parameters)
Validate the date is equal or after a given date.
protected bool compareDates(string $attribute, mixed $value, array $parameters, string $operator)
Compare a given date against another using an operator.
protected bool checkDateTimeOrder(string $format, string $first, string $second, string $operator)
Given two date/time strings, check that one is after the other.
protected DateTime|null getDateTimeWithOptionalFormat(string $format, string $value)
Get a DateTime instance from a string.
protected bool validateTimezone(string $attribute, mixed $value)
Validate that an attribute is a valid timezone.
protected string|null getDateFormat(string $attribute)
Get the date format for an attribute if it has one.
protected int getDateTimestamp(mixed $value)
Get the date timestamp.
protected string getMessage(string $attribute, string $rule)
Get the validation message for an attribute and rule.
protected string|null getInlineMessage(string $attribute, string $lowerRule, array $source = null)
Get the inline message for a rule if it exists.
protected string getCustomMessageFromTranslator(string $customKey)
Get the custom error message from translator.
protected string getSizeMessage(string $attribute, string $rule)
Get the proper error message for an attribute and size rule.
protected string getAttributeType(string $attribute)
Get the data type of the given attribute.
protected string doReplacements(string $message, string $attribute, string $rule, array $parameters)
Replace all error message place-holders with actual values.
protected array getAttributeList(array $values)
Transform an array of attributes to their displayable form.
protected string getAttribute(string $attribute)
Get the displayable name of the attribute.
protected string getPrimaryAttribute(string $attribute)
Get the primary attribute name.
For example, if "name.0" is given, "name.*" will be returned.
string getDisplayableValue(string $attribute, mixed $value)
Get the displayable name of the value.
protected string replaceBetween(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the between rule.
protected string replaceDateFormat(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the date_format rule.
protected string replaceDifferent(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the different rule.
protected string replaceDigits(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the digits rule.
protected string replaceDigitsBetween(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the digits (between) rule.
protected string replaceMin(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the min rule.
protected string replaceMax(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the max rule.
protected string replaceIn(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the in rule.
protected string replaceNotIn(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the not_in rule.
protected string replaceInArray(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the in_array rule.
protected string replaceMimetypes(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the mimetypes rule.
protected string replaceMimes(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the mimes rule.
protected string replaceRequiredWith(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_with rule.
protected string replaceRequiredWithAll(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_with_all rule.
protected string replaceRequiredWithout(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_without rule.
protected string replaceRequiredWithoutAll(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_without_all rule.
protected string replaceSize(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the size rule.
protected string replaceRequiredIf(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_if rule.
protected string replaceRequiredUnless(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the required_unless rule.
protected string replaceSame(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the same rule.
protected string replaceBefore(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the before rule.
protected string replaceAfter(string $message, string $attribute, string $rule, array $parameters)
Replace all place-holders for the after rule.
array attributes()
Get all attributes.
bool hasAttribute(string $attribute)
Checks if an attribute exists.
bool hasRule(string $attribute, string|array $rules)
Determine if the given attribute has a rule in the given set.
protected array|null getRule(string $attribute, string|array $rules)
Get a rule and its parameters for a given attribute.
protected array parseRule(array|string $rules)
Extract the rule name and parameters from a rule.
protected array parseArrayRule(array $rules)
Parse an array based rule.
protected array parseStringRule(string $rules)
Parse a string based rule.
protected array parseParameters(string $rule, string $parameter)
Parse a parameter list.
protected array parseNamedParameters(array $parameters)
Parse named parameters to $key => $value items.
protected string normalizeRule(string $rule)
Normalizes a rule so that we can accept short types.
protected bool dependsOnOtherFields(string $rule)
Determine if the given rule depends on other fields.
protected array getExplicitKeys(string $attribute)
Get the explicit keys from an attribute flattened with dot notation.
E.g. 'foo.1.bar.spark.baz' -> [1, 'spark'] for 'foo..bar..baz'
protected string getLeadingExplicitAttributePath(string $attribute)
Get the explicit part of the attribute name.
E.g. 'foo.bar.*.baz' -> 'foo.bar'
Allows us to not spin through all of the flattened data for some operations.
protected array extractDataFromPath(string $attribute)
Extract data based on the given dot-notated path.
Used to extract a sub-section of the data for faster iteration.
protected array replaceAsterisksInParameters(array $parameters, array $keys)
Replace each field parameter which has asterisks with the given keys.
protected string replaceAsterisksWithKeys(string $field, array $keys)
Replace asterisks with explicit keys.
E.g. 'foo..bar..baz', [1, 'spark'] -> foo.1.bar.spark.baz
array getExtensions()
Get the array of custom validator extensions.
void addExtensions(array $extensions)
Register an array of custom validator extensions.
void addImplicitExtensions(array $extensions)
Register an array of custom implicit validator extensions.
void addExtension(string $rule, Closure|string $extension)
Register a custom validator extension.
void addImplicitExtension(string $rule, Closure|string $extension)
Register a custom implicit validator extension.
array getReplacers()
Get the array of custom validator message replacers.
void addReplacers(array $replacers)
Register an array of custom validator message replacers.
void addReplacer(string $rule, Closure|string $replacer)
Register a custom validator message replacer.
array getData()
Get the data under validation.
$this setData(array $data)
Set the data under validation.
array getRules()
Get the validation rules.
$this setRules(array $rules)
Set the validation rules.
$this setAttributeNames(array $attributes)
Set the custom attributes on the validator.
$this setValueNames(array $values)
Set the custom values on the validator.
PresenceVerifierInterface getPresenceVerifier()
Get the Presence Verifier implementation.
void setPresenceVerifier(PresenceVerifierInterface $presenceVerifier)
Set the Presence Verifier implementation.
TranslatorInterface getTranslator()
Get the Translator implementation.
void setTranslator(TranslatorInterface $translator)
Set the Translator implementation.
array getCustomMessages()
Get the custom messages for the validator.
void setCustomMessages(array $messages)
Set the custom messages for the validator.
array getCustomAttributes()
Get the custom attributes used by the validator.
$this addCustomAttributes(array $customAttributes)
Add custom attributes to the validator.
array getCustomValues()
Get the custom values for the validator.
$this addCustomValues(array $customValues)
Add the custom values for the validator.
array getFallbackMessages()
Get the fallback messages for the validator.
void setFallbackMessages(array $messages)
Set the fallback messages for the validator.
array failed()
Get the failed validation rules.
MessageBag messages()
Get the message container for the validator.
MessageBag errors()
An alternative more semantic shortcut to the message container.
MessageBag getMessageBag()
Get the messages for the instance.
void setContainer(Container $container)
Set the IoC container instance.
protected bool|null callExtension(string $rule, array $parameters)
Call a custom validator extension.
protected bool callClassBasedExtension(string $callback, array $parameters)
Call a class based validator extension.
protected string|null callReplacer(string $message, string $attribute, string $rule, array $parameters)
Call a custom validator message replacer.
protected string callClassBasedReplacer(string $callback, string $message, string $attribute, string $rule, array $parameters)
Call a class based validator message replacer.
protected void requireParameterCount(int $count, array $parameters, string $rule)
Require a certain number of parameters to be present.
protected bool compare(mixed $first, mixed $second, string $operator)
Determine if a comparison passes between the given values.
mixed __call(string $method, array $parameters)
Handle dynamic calls to class methods.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.3/Illuminate/Validation/Validator.html