Laravel 5注册商中的自定义验证规则

geoffs3310

我正在使用默认的Laravel 5用户注册资料,该资料使用registrar.php文件app / Services / Registrar.php

我需要执行一个自定义验证规则来检查会话中是否存储了一些东西,否则用户将无法注册。

我尝试创建自己的验证规则,但似乎没有被调用。我究竟做错了什么?

<?php namespace App\Services;

use App\User;
use Event;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;
use App\Events\UserRegistered;
use Session;

class Registrar implements RegistrarContract {

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    public function validator(array $data)
    {
        Validator::extend('required_images', function($attribute, $value, $parameters)
        {
            die("rule called");
        });

        return Validator::make($data, [
            'first_name' => 'required_images|required|max:255',
            'last_name' => 'required|max:255',
            'discount_code' => 'max:255',
            'register_email' =>       'required|email|confirmed|max:255|unique:users,email',
            'register_password' => 'required|confirmed|min:6|max:60'
        ]);
    }
}

另外,我刚刚将规则required_images附加到first_name字段,但是由于它实际上与注册表单中的字段无关,是否有更好的方法来触发它?

Lukasgeiter

如果仔细看一下validator()函数,您会发现实际上有一条return语句:

public function validator(array $data)
{
    return Validator::make($data, [
//   ^^^
        'first_name' => 'required_images|required|max:255',
        'last_name' => 'required|max:255',
//  ...

这意味着您的规则永远不会得到注册。您应该先这样做:

public function validator(array $data)
{
    Validator::extend('required_images', function($attribute, $value, $parameters)
    {
        die("rule called");
    });

    return Validator::make($data, [
        'first_name' => 'required_images|required|max:255',
        'last_name' => 'required|max:255',
        'discount_code' => 'max:255',
        'register_email' =>       'required|email|confirmed|max:255|unique:users,email',
        'register_password' => 'required|confirmed|min:6|max:60'
    ]);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义验证器在Laravel 5中

来自分类Dev

在Laravel中自定义模型存储的验证规则

来自分类Dev

Laravel中的正则表达式规则的自定义验证消息?

来自分类Dev

Laravel 4中的自定义验证

来自分类Dev

在Laravel 5中使用表单请求验证时如何添加自定义验证规则

来自分类Dev

在laravel 5中自定义注册表格

来自分类Dev

Laravel 5中用于自定义验证规则的自定义占位符

来自分类Dev

为laravel5表单验证中的字段设置自定义验证消息?

来自分类Dev

Laravel中的自定义验证消息

来自分类Dev

如何在Laravel 5中测试自定义验证规则?

来自分类Dev

如何在laravel 5.2中添加自定义验证规则?

来自分类Dev

如何在Laravel 5.2中自定义注册

来自分类Dev

如何在Laravel 5.2中自定义注册

来自分类Dev

如何在Laravel 6 API中创建自定义验证规则

来自分类Dev

在自定义规则文件中使用默认的laravel验证规则

来自分类Dev

Laravel中的正则表达式规则的自定义验证消息?

来自分类Dev

在Laravel中自定义模型存储的验证规则

来自分类Dev

Laravel 5自定义验证规则来检查会话数据

来自分类Dev

Laravel 5自定义验证

来自分类Dev

Laravel 5.1创建自定义验证规则

来自分类Dev

Laravel注册表单上的自定义验证

来自分类Dev

Laravel自定义验证规则

来自分类Dev

如何在自定义验证规则laravel中访问route参数

来自分类Dev

Laravel 表单请求数组验证自定义规则

来自分类Dev

Laravel 5.5 / 验证器 / 自定义规则

来自分类Dev

针对 Laravel 5 中输入数组的自定义规则

来自分类Dev

可选的自定义列规则。Laravel 5 验证规则

来自分类Dev

检查 Laravel 自定义验证规则中是否存在路由参数?

来自分类Dev

在 Laravel 中翻译自定义验证规则消息?

Related 相关文章

热门标签

归档