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

namespace IlluminateValidation;

use 
IlluminateFoundationPrecognition;

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

        if (! 
$this->passesAuthorization()) {
            
$this->failedAuthorization();
        }

        
$instance $this->getValidatorInstance();

        if (
$this->isPrecognitive()) {
            
$instance->after(Precognition::afterValidationHook($this));
        }

        if (
$instance->fails()) {
            
$this->failedValidation($instance);
        }

        
$this->passedValidation();
    }

    
/**
     * Prepare the data for validation.
     *
     * @return void
     */
    
protected function prepareForValidation()
    {
        
//
    
}

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

    
/**
     * Handle a passed validation attempt.
     *
     * @return void
     */
    
protected function passedValidation()
    {
        
//
    
}

    
/**
     * Handle a failed validation attempt.
     *
     * @param  IlluminateValidationValidator  $validator
     * @return void
     *
     * @throws IlluminateValidationValidationException
     */
    
protected function failedValidation(Validator $validator)
    {
        
$exception $validator->getException();

        throw new 
$exception($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 IlluminateValidationUnauthorizedException
     */
    
protected function failedAuthorization()
    {
        throw new 
UnauthorizedException;
    }
}
Онлайн: 0
Реклама