在验证行中添加按钮


Adding buttons in validation lines

我刚开始使用laravel,我想知道是否有一种方法可以将链接/按钮放在验证行中。

例如,我创建了一个基本的注册页面(遵循laravel文档)。当有人试图用错误的电子邮件注册帐户时(只有特定的电子邮件帐户将被直接注册,其他电子邮件帐户将被列入等待名单),用户将得到一个小错误消息,说他们将被列入等待名单和一个按钮,如果他们想要在这个等待名单上。

下面是我的代码:

认证/AuthController

protected function validator(array $data)
{
    return Validator::make($data, [
        'firstname' => 'required|max:255',
        'lastname' => 'required|max:255',
        'username' => 'required|max:50|unique:users',
        'email' => 'required|email|max:255|unique:users|regex:/@student'.test'.be$/',
        'password' => 'required|confirmed|min:6',
    ]);
}

Validation.php//自定义验证语言行

'email' => [
        'unique' => 'This email is already already registered',
        'required' => 'Email is required.',
        'regex' => 'some text <button>want to be on the waitinglist?</button>',
    ],

然后是一个带有表单和错误信息的基本注册视图

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

我认为你最好在视图文件中这样做,就像下面这样:

@if (array_key_exists('regex', $errors->get('email')))
    some text <button>want to be on the waitinglist?</button>
@endif
编辑:

您也可以将{{ $error }}更改为{!! $error !!},以正常显示HTML。

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