争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

laravel中validator的使用方法介绍(代码示例)

时间:2024/3/30作者:未知来源:争怎路由网人气:

string $extension * @param string $message * * @return $this */ public function extend($rule, $extension, $message = null) { Validator::extend($rule, $extension, $message); return $this; } /** * before (extend(),resolver()) * * @return $this */ public function before() { } /** * after(sometimes()) * * @return $this */ public function after() { } }

新建中间件

<?php

namespace App\Http\Middleware;

use Closure;
use \Illuminate\Http\Request;

class ValidateAdminMiddleware
{
    /**
     * This namespace is applied to the controller routes in your routes file.
     *
     * In addition, it is set as the URL generator's root namespace.
     *
     * @var string
     */
    protected $namespace = 'App\Http\Validators';

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle(Request $request, Closure $next, $validator = null)
    {
        if ($request->isMethod('POST')) {
            $type = $request->segment(1);
            if ($validator) {
                $validator = $this->namespace . '\\' . studly_case($type) . '\\' . studly_case($validator) . 'Validator';
                $validator = new $validator($request->all());

                if (!$validator->passes()) {
                    if ($request->isAjax()) {
                        return $validator->errors()->first();
                    } else {
                        return redirect()->back()
                        ->withErrors($validator->getValidator())
                        ->withInput();
                    }
                }
            }
        }
        return $next($request);
    }
}

新建 TestTestValidator

<?php

namespace App\Http\Validators\Admin;

use App\Http\Validators\AbstractValidator;

class TestValidator extends AbstractValidator
{
    /**
     * Validation rules
     *
     * @var Array
     */
    protected $rules = array(
        'name' => ['required', 'test', 'min:1'],
    );

    /**
     * Validation messages
     *
     * @var Array
     */
    protected $messages = array(
        'name.required' => '必填',
        'name.min' => '最少1个字符',
        'name.test' => '测试',
    );

    /**
     * 自定义验证规则或者扩展Validator类
     */
    public function before()
    {
        $this->extend('test', function ($attribute, $value, $parameters) {
            return bool;
        });
    }
}

路由中如何使用

Route::post('/', ['middleware' => ['valiAdmin:Test'], 'uses' => 'IndexController@test']);

具体使用可以自行配置~

以上就是laravel中validator的使用方法介绍(代码示例)的详细内容,更多请关注php中文网其它相关文章!


网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。



关键词:laravel中validator的运用办法介绍(代码示例)




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版