如何使用 Lumen 验证电子邮件是否已被接收?

How to validate if email is already taken using Lumen?

我是 Lumen 的新手 (Laravel)。我想按照 Lumen 文档验证电子邮件是否已被接收。

$this->validate($request, [
        'email' => 'required|unique:borrower|max:255',
        //'mobile' => 'required|unique:borrower|max:255'

    ]);

如果我在 postman 中执行以下行,它会显示 422 未处理的实体。

如何检查电子邮件是否已通过 Lumen 接收并在视图中显示错误消息?感谢大家的帮助!

borrower 您的 table 电子邮件名称应该是唯一的吗?

根据文档:

unique:table,column,except,idColumn

The field under validation must be unique on a given database table. If the column option is not specified, the field name will be used.

Specifying A Custom Column Name:

'email' => 'unique:users,email_address'

https://laravel.com/docs/5.2/validation#rule-unique

用于插入新条目

function validateUser($request){
    $validator = Validator::make($request->all(), [
        'email' => 'bail|required|email|unique:borrower,email',
    ]);
    return $validator;
}

待更新

function validateUser($request){
    $validator = Validator::make($request->all(), [
        'email' => 'bail|required|email|unique:borrower,email,'.$request->id.',id',
    ]);
    return $validator;
}

两者结合

function validateUser($request){
    $id = isset($request->id) ? ','.$request->id.',id':'';
    $validator = Validator::make($request->all(), [
        'first_name' => 'required',
        'email' => 'bail|required|email|unique:borrower,email'.$id,
    ]);
    return $validator;
}

之后你可以通过$validator显示所有错误。

保释:bail 检查第一个条件,如果失败则不会检查电子邮件验证或唯一性检查。