首页 > 解决方案 > 通过数据库记录进行 Laravel 验证

问题描述

问题是如何通过数据库模型进行验证,我有模型“电子邮件”。如果他们的电子邮件已经在我们的电子邮件模型中,我只想让人们可以注册。

电子邮件数据库表

Schema::create('emails', function (Blueprint $table) {
        $table->increments('id');
        $table->text('username')->nullable();
        $table->text('fullname')->nullable();
        $table->text('description')->nullable();
        $table->text('email')->nullable();
        $table->timestamps();
});

Auth@RegisterController

protected function validator(array $data)
{
    return Validator::make($data, [
        'name'     => 'required|max:255',
        'email'    => 'required|max:255|unique:users',         here i guess
        'password' => 'required|min:6|confirmed',
    ]);
}**strong text**

标签: laraveleloquent

解决方案


您必须对表unique中的唯一电子邮件使用验证,并使用验证来检查表中是否存在电子邮件。usersexistsemails

protected function validator(array $data)
{
    return Validator::make($data, [
        'name'     => 'required|max:255',
        'email'    => 'required|max:255|unique:users|exists:emails',  
        'password' => 'required|min:6|confirmed',
    ]);
}

假设您在和表中都有email字段usersemails


推荐阅读