class File implements Rule, DataAwareRule, ValidatorAwareRule (View source)

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected array $allowedMimetypes

The MIME types that the given file should match. This array may also contain file extensions.

protected array $allowedExtensions

The extensions that the given file should match.

protected null|int $minimumFileSize

The minimum size in kilobytes that the file can be.

protected null|int $maximumFileSize

The maximum size in kilobytes that the file can be.

protected array $customRules

An array of custom rules that will be merged into the validation rules.

protected array $messages

The error message after validation, if any.

protected array $data

The data under validation.

protected Validator $validator

The validator performing the validation.

static string|array|callable|null $defaultCallback

The callback that will generate the "default" version of the file rule.

Methods

$this|TWhenReturnType
when($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

$this|TUnlessReturnType
unless($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

static void
macro(string $name, object|callable $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Checks if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

static File|null
defaults(File|callable|null $callback = null)

Set the default callback to be used for determining the file default rules.

static File
default()

Get the default configuration of the file rule.

static ImageFile
image()

Limit the uploaded file to only image types.

static File
types(string|array<int,string> $mimetypes)

Limit the uploaded file to the given MIME types or file extensions.

$this
extensions(string|array<int,string> $extensions)

Limit the uploaded file to the given file extensions.

$this
size(string|int $size)

Indicate that the uploaded file should be exactly a certain size in kilobytes.

$this
between(string|int $minSize, string|int $maxSize)

Indicate that the uploaded file should be between a minimum and maximum size in kilobytes.

$this
min(string|int $size)

Indicate that the uploaded file should be no less than the given number of kilobytes.

$this
max(string|int $size)

Indicate that the uploaded file should be no more than the given number of kilobytes.

mixed
toKilobytes(string|int $size)

Convert a potentially human-friendly file size to kilobytes.

$this
rules(string|array $rules)

Specify additional validation rules that should be merged with the default rules during validation.

bool
passes(string $attribute, mixed $value)

Determine if the validation rule passes.

array
buildValidationRules()

Build the array of underlying validation rules based on the current state.

array
buildMimetypes()

Separate the given mimetypes from extensions and return an array of correct rules to validate against.

bool
fail(array|string $messages)

Adds the given failures, and return false.

string|array
message()

Get the validation error message.

$this
setValidator(Validator $validator)

Set the current validator.

$this
setData(array $data)

Set the current data under validation.

Details

$this|TWhenReturnType when($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

$value
callable $callback
callable $default

Return Value

$this|TWhenReturnType

$this|TUnlessReturnType unless($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

$value
callable $callback
callable $default

Return Value

$this|TUnlessReturnType

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

static File|null defaults(File|callable|null $callback = null)

Set the default callback to be used for determining the file default rules.

If no arguments are passed, the default file rule configuration will be returned.

Parameters

File|callable|null $callback

Return Value

File|null

static File default()

Get the default configuration of the file rule.

Return Value

File

static ImageFile image()

Limit the uploaded file to only image types.

Return Value

ImageFile

static File types(string|array<int,string> $mimetypes)

Limit the uploaded file to the given MIME types or file extensions.

Parameters

string|array<int,string> $mimetypes

Return Value

File

$this extensions(string|array<int,string> $extensions)

Limit the uploaded file to the given file extensions.

Parameters

string|array<int,string> $extensions

Return Value

$this

$this size(string|int $size)

Indicate that the uploaded file should be exactly a certain size in kilobytes.

Parameters

string|int $size

Return Value

$this

$this between(string|int $minSize, string|int $maxSize)

Indicate that the uploaded file should be between a minimum and maximum size in kilobytes.

Parameters

string|int $minSize
string|int $maxSize

Return Value

$this

$this min(string|int $size)

Indicate that the uploaded file should be no less than the given number of kilobytes.

Parameters

string|int $size

Return Value

$this

$this max(string|int $size)

Indicate that the uploaded file should be no more than the given number of kilobytes.

Parameters

string|int $size

Return Value

$this

protected mixed toKilobytes(string|int $size)

Convert a potentially human-friendly file size to kilobytes.

Parameters

string|int $size

Return Value

mixed

$this rules(string|array $rules)

Specify additional validation rules that should be merged with the default rules during validation.

Parameters

string|array $rules

Return Value

$this

bool passes(string $attribute, mixed $value)

Determine if the validation rule passes.

Parameters

string $attribute
mixed $value

Return Value

bool

protected array buildValidationRules()

Build the array of underlying validation rules based on the current state.

Return Value

array

protected array buildMimetypes()

Separate the given mimetypes from extensions and return an array of correct rules to validate against.

Return Value

array

protected bool fail(array|string $messages)

Adds the given failures, and return false.

Parameters

array|string $messages

Return Value

bool

string|array message()

Get the validation error message.

Return Value

string|array

$this setValidator(Validator $validator)

Set the current validator.

Parameters

Validator $validator

Return Value

$this

$this setData(array $data)

Set the current data under validation.

Parameters

array $data

Return Value

$this