<?php namespace Illuminate
\Validation; use Illuminate
\Contracts
\Validation
\ValidationException;
use Illuminate\Contracts\Validation\UnauthorizedException;
trait ValidatesWhenResolvedTrait {
public function validate() {
$instance = $this ->getValidatorInstance();
if (! $this ->passesAuthorization()) {
$this ->failedAuthorization();
} elseif (! $instance ->passes()) {
$this ->failedValidation( $instance );
}
}
protected function getValidatorInstance() {
return $this ->validator();
}
protected function failedValidation(Validator $validator ) {
throw new ValidationException( $validator );
}
protected function passesAuthorization() {
if (method_exists( $this , 'authorize' ))
{
return $this ->authorize();
}
return true;
}
protected function failedAuthorization() {
throw new UnauthorizedException;
}
}
|