为了账号安全,请及时绑定邮箱和手机立即绑定

ValidatesWhenResolved.php

标签:
PHP


<?php namespace Illuminate

\Validation; use Illuminate

\Contracts

\Validation

\ValidationException;

use Illuminate\Contracts\Validation\UnauthorizedException;

// use name space

/** 

* Provides default implementation of ValidatesWhenResolved contract. 

*/trait ValidatesWhenResolvedTrait{

// other type of class can be use in more please    

/**     

* Validate the class instance.     

*     

* @return void     

*/    

public function validate()    {        

$instance $this->getValidatorInstance();

// get Validator Instance         

if (! $this->passesAuthorization()) {

// determine Authorization            

$this->failedAuthorization();        

elseif (! $instance->passes()) {

// passes            

$this->failedValidation($instance);

//failed Validation        

}    

}

// Validate the class instance.     

/**     

* Get the validator instance for the request.     

*     

* @return \Illuminate\Validation\Validator     

*/    

protected function getValidatorInstance()    {        

return $this->validator();    

}

//Get the validator instance for the request.     

/**     

* Handle a failed validation attempt.     

*     

* @param  \Illuminate\Validation\Validator  

$validator     

* @return mixed     

*     

* @throws \Illuminate\Contracts\Validation\ValidationException     

*/    

protected function failedValidation(Validator $validator)    {        

throw new ValidationException($validator);    

}

// yes we need do some thing for the bad handle, the best way is throw exception   

// so this function name is failed validation     

/**     

* Determine if the request passes the authorization check.     

*     

* @return bool     

*/    

protected function passesAuthorization()    {        

if (method_exists($this'authorize')) 

{            

return $this->authorize();        

}         

return true;    

}

// Determine if the request passes the authorization check.   

// if method_exists this     

/**     

* Handle a failed authorization attempt.     

*     

* @throws \Illuminate\Contracts\Validation\UnauthorizedException     

*/    

protected function failedAuthorization()    {        

throw new UnauthorizedException;//throw new Exception    

}

//Handle a failed authorization attempt

}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消