File
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 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
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Limit the uploaded file to the given MIME types or file extensions.
Indicate that the uploaded file should be exactly a certain size in kilobytes.
Indicate that the uploaded file should be between a minimum and maximum size in kilobytes.
Indicate that the uploaded file should be no less than the given number of kilobytes.
Indicate that the uploaded file should be no more than the given number of kilobytes.
Specify additional validation rules that should be merged with the default rules during validation.
Determine if the validation rule passes.
Build the array of underlying validation rules based on the current state.
Separate the given mimetypes from extensions and return an array of correct rules to validate against.
Adds the given failures, and return false.
Get the validation error message.
Set the current data under validation.
Details
        
                            $this|TWhenReturnType
    when($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) truthy.
        
                            $this|TUnlessReturnType
    unless($value = null, callable|null $callback = null, callable|null $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.
If no arguments are passed, the default file rule configuration will be returned.
        
                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
    size(int $kilobytes)
        
    
    Indicate that the uploaded file should be exactly a certain size in kilobytes.
        
                            $this
    between(int $minKilobytes, int $maxKilobytes)
        
    
    Indicate that the uploaded file should be between a minimum and maximum size in kilobytes.
        
                            $this
    min(int $kilobytes)
        
    
    Indicate that the uploaded file should be no less than the given number of kilobytes.
        
                            $this
    max(int $kilobytes)
        
    
    Indicate that the uploaded file should be no more than the given number of 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.
        
                    protected        array
    buildValidationRules()
        
    
    Build the array of underlying validation rules based on the current state.
        
                    protected        array
    buildMimetypes()
        
    
    Separate the given mimetypes from extensions and return an array of correct rules to validate against.
        
                    protected        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.