Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php
Строк: 87
<?php

namespace IlluminateValidation;

use 
IlluminateContractsValidationUnauthorizedException;
use 
IlluminateContractsValidationValidationException as ValidationExceptionContract;

/**
 * Provides default implementation of ValidatesWhenResolved contract.
 */
trait ValidatesWhenResolvedTrait
{
    
/**
     * Validate the class instance.
     *
     * @return void
     */
    
public function validate()
    {
        
$instance $this->getValidatorInstance();

        if (! 
$this->passesAuthorization()) {
            
$this->failedAuthorization();
        } elseif (! 
$instance->passes()) {
            
$this->failedValidation($instance);
        }
    }

    
/**
     * Get the validator instance for the request.
     *
     * @return IlluminateValidationValidator
     */
    
protected function getValidatorInstance()
    {
        return 
$this->validator();
    }

    
/**
     * Handle a failed validation attempt.
     *
     * @param  IlluminateValidationValidator  $validator
     * @return void
     *
     * @throws IlluminateContractsValidationValidationException
     */
    
protected function failedValidation(Validator $validator)
    {
        throw new 
ValidationExceptionContract($validator);
    }

    
/**
     * Determine if the request passes the authorization check.
     *
     * @return bool
     */
    
protected function passesAuthorization()
    {
        if (
method_exists($this'authorize')) {
            return 
$this->authorize();
        }

        return 
true;
    }

    
/**
     * Handle a failed authorization attempt.
     *
     * @return void
     *
     * @throws IlluminateContractsValidationUnauthorizedException
     */
    
protected function failedAuthorization()
    {
        throw new 
UnauthorizedException;
    }
}
Онлайн: 1
Реклама