laravel 验证器使用

Posted 钧一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 验证器使用相关的知识,希望对你有一定的参考价值。

1.前后端不分离 (form表单提交)

 

控制器定义验证规则

<?php

namespace AppHttpControllersAdmin;

use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;

class LoginController
{
    /**
     * @param Request $request
     * 登录
     */
    public function login(Request $request)
    {
        $post[‘name‘] = $request->input(‘name‘);
        $post[‘password‘] = $request->input(‘password‘);

        $messages = [
            ‘name.required‘ => ‘请输入账号‘,
            ‘name.max‘ => ‘账号错误‘,
            ‘password.required‘ => ‘请输入密码‘,
            ‘password.max‘ => ‘密码错误‘,
            ];

        Validator::make($post, [
            ‘name‘ => ‘required|max:20‘,
            ‘password‘ => ‘required|max:30‘,
        ],$messages)->validate();

    }
}

 

前端

@error(‘name‘)
   <span class="invalid-feedback" role="alert">
       <strong>{{ $message }}</strong>
   </span>
@enderror

 

 

 

2.前后端分离

 

<?php

namespace AppHttpControllersAdmin;

use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;

class LoginController
{
    /**
     * @param Request $request
     * 登录
     */
    public function login(Request $request)
    {
        $post[‘name‘] = $request->input(‘name‘);
        $post[‘password‘] = $request->input(‘password‘);

        $messages = [
            ‘name.required‘ => ‘请输入账号‘,
            ‘name.max‘ => ‘账号错误‘,
            ‘password.required‘ => ‘请输入密码‘,
            ‘password.max‘ => ‘密码错误‘,
            ];

        $validator = Validator::make($post, [
            ‘name‘ => ‘required|max:20‘,
            ‘password‘ => ‘required|max:30‘,
        ],$messages);
        
        if ($validator->fails()){
            //返回错误信息
            //{
            //    "name": [
            //        "账号错误"
            //    ],
            //    "password": [
            //        "密码错误"
            //    ]
            //}
            return $validator->errors();
        }

    }
}

 

以上是关于laravel 验证器使用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何在控制器的几种方法中重用代码片段

Laravel - 在自定义验证中使用验证规则

十六进制代码验证在laravel中不起作用[重复]

如何在移动应用程序的 Web 服务中使用 Laravel 5.4 验证器

使用中间件在 laravel 中进行用户身份验证

为啥我的验证器没有在 Laravel 中验证?