首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel验证失败后,用户从函数验证器()重定向到不同的url

Laravel验证失败后,用户从函数验证器()重定向到不同的url
EN

Stack Overflow用户
提问于 2017-03-20 14:26:27
回答 1查看 261关注 0票数 0

mobile_no唯一验证失败后,我试图将用户重定向到不同的页面

代码语言:javascript
复制
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use App\User;
use App\Http\Controllers\Controller;

class RegisterController extends Controller
    {
        use RegistersUsers;

        protected function validator(array $data){
            $validator = Validator::make($data, $rules, $messages);
            // If unique validation fails
            if($validator->fails()){ 
                $failed = $validator->failed();
                // if failed because unique mobile number validation rule
                if(count($failed) == 1){
                    foreach ($failed as $key => $value) {
                        if($key == 'mobile_no'){
                            if(count($value) == 1 && isset($value['Unique'])){
                                return redirect('/verify');
                            }
                        }
                    }
                }
            return redirect('/somepage');
            }
        return $validator;
    }
}

当我尝试这样做时,它会产生错误。

代码语言:javascript
复制
BadMethodCallException in RedirectResponse.php line 218:
Method [validate] does not exist on Redirect.

如何重定向到其他页面?我是不是漏掉了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 21:22:39

validator方法应该返回一个Validator。您看到的错误是因为您返回了一个重定向响应,一些代码假定您返回了一个Validator并在其上调用了$validator->validate()

实际的调用可以在RegistersUsers性状中找到。

您需要抛出一个HttpResponseException。异常处理程序应该捕获它们并相应地呈现响应;在本例中,执行重定向。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42906165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档