php - Laravel 5.4 向验证器的错误添加一条消息

标签 php laravel validation

因此,我从应重置用户密码的表单接收数据:
旧密码:|字段|
新密码:|字段|
确认密码: |字段|
如果用户的旧密码与他在第一个字段中输入的内容不匹配,我希望能够向用户显示一条消息。我不想创建一个全新的验证方法,只想在创建自己的 if() 时抛出错误。那么如何使用 Blade View 中可用的 $errors 变量来实现此目的

这是我的 Controller 方法的示例

public function update(Request $request){
    $this->validate($request,[
        'oldPassword' => 'required',
        'password' => 'required|min:8|confirmed'
    ]);
    $user = Auth::user();
    if(password_verify($request->newPass,$user->password)){
         $user = User::find($user->id);
         $user->password = bcrypt($request->newPass);
         $user->save();
    }else{
         //the code for adding a new key to $errors variable
         return back(); Or return redirect('path');
    }
}

所以在 View 中我想要这个

@if (count($errors) > 0)
<div class="alert alert-danger">
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif

最佳答案

您可以在 Controller 中执行此操作:

$validator =  Validator::make($request->all(),[
    'oldPassword' => 'required',
    'password' => 'required|min:8|confirmed'
]);

然后在 return back(); 之前添加:

$validator->after(function($validator) {
    $validator->errors()->add('tagName', 'Error message');
});

附上您的留言。

关于php - Laravel 5.4 向验证器的错误添加一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43283622/

相关文章:

php - 在 Dropdown Laravel Blade show option in optgroup based on a field in the table

c# - 在 JavaScript 中捕获的动态数据验证异常消息,而不是 DynamicValidator

jquery - Page_ClientValidate 未定义 (ASP.NET MVC)

表行中的 Javascript 验证

php - 将 PHP 输出转换为 PDF

sql - SQLSTATE [23000] : Integrity constraint violation: 1048 Column 'status_member' cannot be null

mysql - 如何在 Eloquent Query Builder (Laravel 4) 中按 "SUM"排序

php - 如何在 MySQL 中创建区分大小写的 'select' 和 'like'?

php - 编辑mysql表

PHP 注册未在表中创建数据