Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为唯一字段编写Laravel验证_Php_Validation_Laravel_Laravel 4 - Fatal编程技术网

Php 如何为唯一字段编写Laravel验证

Php 如何为唯一字段编写Laravel验证,php,validation,laravel,laravel-4,Php,Validation,Laravel,Laravel 4,我似乎找不到关于如何在Laravel中验证唯一字段的详尽指南。请详细说明以下验证规则与错误或冗余规则之间的区别 一, 二, 三, 四, 第一种方法是查看用户表以确保电子邮件是唯一的。因为您没有提供列作为第二个参数,所以它将假定列名与键相同,在本例中为email 第二个是简单地声明应该为email列检查哪个列。在这种情况下,它不是必需的,因为电子邮件列是Laravel已经假定的email。如果数据库中的电子邮件列的名称类似于user\u email,那么您必须将user\u email传递给验证程

我似乎找不到关于如何在Laravel中验证唯一字段的详尽指南。请详细说明以下验证规则与错误或冗余规则之间的区别

一,

二,

三,

四,


第一种方法是查看用户表以确保电子邮件是唯一的。因为您没有提供列作为第二个参数,所以它将假定列名与键相同,在本例中为
email

第二个是简单地声明应该为email列检查哪个列。在这种情况下,它不是必需的,因为电子邮件列是Laravel已经假定的
email
。如果数据库中的电子邮件列的名称类似于
user\u email
,那么您必须将
user\u email
传递给验证程序,以便它知道要检查哪个列的电子邮件地址

第三,你应该通过电子邮件传递用户的id。这将告诉Laravel电子邮件应该是唯一的,除非该电子邮件恰好为该id设置。这对于编辑表单很有用。如果您正在编辑拥有电子邮件
test@test.com
如果您试图保存它,则使用唯一的验证器将不允许保存该表单,因为它已经看到了
test@test.com
在表中(您正试图编辑的表)。因此,通过这种方式,您可以传入该用户的id,验证也将通过


第四,您只需声明主id列的名称。大多数情况下,这不是必需的,因为Laravel只假设主键列称为id。如果出于某种原因,用户表上的主键是
user\u id
,然后您将传入
user\u id
,这样它就知道要在哪个列上匹配id。

第一个就是查看users表以确保电子邮件是唯一的。因为您没有提供列作为第二个参数,所以它将假定列名与键相同,在本例中为
email

第二个是简单地声明应该为email列检查哪个列。在这种情况下,它不是必需的,因为电子邮件列是Laravel已经假定的
email
。如果数据库中的电子邮件列的名称类似于
user\u email
,那么您必须将
user\u email
传递给验证程序,以便它知道要检查哪个列的电子邮件地址

第三,你应该通过电子邮件传递用户的id。这将告诉Laravel电子邮件应该是唯一的,除非该电子邮件恰好为该id设置。这对于编辑表单很有用。如果您正在编辑拥有电子邮件
test@test.com
如果您试图保存它,则使用唯一的验证器将不允许保存该表单,因为它已经看到了
test@test.com
在表中(您正试图编辑的表)。因此,通过这种方式,您可以传入该用户的id,验证也将通过


第四,您只需声明主id列的名称。大多数情况下,这不是必需的,因为Laravel只假设主键列称为id。如果出于某种原因,用户表上的主键是
user\u id
,然后您将传入
user\u id
,这样它就知道要在哪个列上匹配id。

第一个就是查看users表以确保电子邮件是唯一的。因为您没有提供列作为第二个参数,所以它将假定列名与键相同,在本例中为
email

第二个是简单地声明应该为email列检查哪个列。在这种情况下,它不是必需的,因为电子邮件列是Laravel已经假定的
email
。如果数据库中的电子邮件列的名称类似于
user\u email
,那么您必须将
user\u email
传递给验证程序,以便它知道要检查哪个列的电子邮件地址

第三,你应该通过电子邮件传递用户的id。这将告诉Laravel电子邮件应该是唯一的,除非该电子邮件恰好为该id设置。这对于编辑表单很有用。如果您正在编辑拥有电子邮件
test@test.com
如果您试图保存它,则使用唯一的验证器将不允许保存该表单,因为它已经看到了
test@test.com
在表中(您正试图编辑的表)。因此,通过这种方式,您可以传入该用户的id,验证也将通过


第四,您只需声明主id列的名称。大多数情况下,这不是必需的,因为Laravel只假设主键列称为id。如果出于某种原因,用户表上的主键是
user\u id
,然后您将传入
user\u id
,这样它就知道要在哪个列上匹配id。

第一个就是查看users表以确保电子邮件是唯一的。因为您没有提供列作为第二个参数,所以它将假定列名与键相同,在本例中为
email

第二个是简单地声明应该为email列检查哪个列。在这种情况下,它不是必需的,因为电子邮件列是Laravel已经假定的
email
。如果数据库中的电子邮件列的名称类似于
user\u email
,那么您必须将
user\u email
传递给验证程序,以便它知道要检查哪个列的电子邮件地址

第三,你应该通过电子邮件传递用户的id。这将告诉Laravel电子邮件应该是唯一的,除非该电子邮件恰好为该id设置。这对于编辑表单很有用。如果您正在编辑拥有电子邮件
test@test.com
如果您试图保存它,那么使用唯一的验证器将不会成功
$rules = ['email' => 'email|unique:users']
$rules = ['email' => 'email|unique:users,email']
$rules = ['email' => "email|unique:users,email,{$user->email}"]
$rules = ['email' => "email|unique:users,email,{$user->email},email"]