Laravel 5.5 推出添加自定义验证规则的新功能。 自定义验证规则并不新鲜,但使用 Laravel 5.5 ,您可以使用专门的类来处理验证。 要定义自定义验证规则,您需要使用两种方法创建一个类:passmessage。 该类放置在App\Rules命名空间中。传递方法接受两个参数:attributevalue,您可以使用它们来验证该字段。

创建自定义验证类

php artisan make:rule CustomRule

CustomRule 类:

<?php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class CustomRule implements Rule
{
    /**
     * Create a new rule instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * 验证规则方法
     *
     * @param  string  $attribute   表单控件名称
     * @param  mixed  $value        传递过来的值
     * @return bool
     */
    public function passes($attribute, $value)
    {

    }

    /**
     * 验证失败返回错误信息
     *
     * @return string
     */
    public function message()
    {
        return 'The validation error message.';
    }
}

使用

public function store(Request $request)
{
    $data = request()->validate([
        'title' => [
            'required', new \App\Rules\CustomRule
        ],
        'content' => 'required'
    ]);

}

学习地址:http://coding.iwanli.me/course/video-8.html


Source: http://blog.iwanli.me/article/W19K5AgV.html

Leave a comment