【问题标题】:Laravel validator::make vs this->validate()Laravel 验证器::make 与 this->validate()
【发布时间】:2016-08-10 21:21:46
【问题描述】:

我的控制器中有一个可以正常工作的验证器(见下文)。

$this->validate($request,[
        'name' => 'required|alpha',
        'sport' => 'required|alpha',
        'gender' => 'required|alpha',
        'age' => 'required|numeric',
        'score' => 'required|numeric',
]);  

当我进入我的视野时,我只是运行这个:

@if(count($errors) > 0)
    <div>
        <ul>
            @foreach($errors->all() as $error)
                {{ $error }}
            @endforeach
        </ul>
    </div>
@endif

Laravel 文档使用 Validator::make($request...) 在良好实践和性能方面哪个更好?我使用的方法来自 Laravel 5 Youtube 教程系列。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    如果您使用$validator = Validator::make(...,则必须检查验证是否失败或通过if ($validator-&gt;fails()) {...,并手动从控制器返回响应。因此,如果您想在某个地方重定向、在渲染视图之前执行某些操作、在从方法返回响应之前对错误或您想要执行的任何其他操作执行某些操作,这将非常有用。

    所有控制器都可用的validate()方法会根据你提供的数据和规则自动检查验证是否失败。如果验证失败,则会抛出 ValidationException,该异常会被自动处理,并且请求会根据验证错误重定向回来。因此,如果您有标准验证并且只想验证并在视图中显示错误,这将非常有用。

    【讨论】:

    • 所以Validator::make() 肯定会提供更大的灵活性。非常感谢。
    猜你喜欢
    • 2018-12-14
    • 1970-01-01
    • 2016-01-04
    • 2020-05-06
    • 2015-09-07
    • 2023-03-31
    • 2023-03-29
    • 2023-03-12
    • 2018-03-01
    相关资源
    最近更新 更多