如何检查laravel登录中是否存在电子邮件

时间:2020-05-11 17:36:04

标签: laravel

我想检查登录详细信息(即电子邮件)是否在数据库中,并在前端回显类似“电子邮件不存在”之类的错误。

       <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button  Name="btnDelete" 
                            Click="BtnDelete_Click">
                                <Button.Style>
                                    <Style TargetType="Button">
                                        <Setter Property="Content" Value="Delete" />

                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding deleted}" Value="False">
                                                <Setter Property="IsEnabled" Value="True"  />


                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding deleted}" Value="True">
                                                <Setter Property="IsEnabled" Value="True"  />
                                                <Setter Property="Content" Value="Restore"></Setter>

                                            </DataTrigger>
                                        </Style.Triggers>

                                    </Style>
                                </Button.Style>
                            </Button>

                        </DataTemplate>

                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

以上是我当前的验证结果。

在登录之前如何检查电子邮件是否存在。

2 个答案:

答案 0 :(得分:1)

$this->validate($request,[
            'email' => 'required|unique:users,email',  // users is table name,email is column 
            'password' => 'required',
        ]);

在刀片中,您可以执行以下操作

@error('email')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror

答案 1 :(得分:0)

您可以使用自定义验证。这是一个示例:

$this->validate($request,[
        'email' => ['required', function ($attribute, $value, $fail) {
                                    $email = User::where('email', $value)->first();
                                    if ($email == null) {
                                        $fail($attribute.' does not exist.');
                                    }
                 },],
        'password' => 'required',
    ]);