Php 拉威尔+;机密:无法使用自定义验证确认用户
我试图避免为此问题修改供应商包。当我添加自定义字段并调用自定义验证器时,由于验证规则,我无法使用确认代码确认用户的电子邮件。当前在Php 拉威尔+;机密:无法使用自定义验证确认用户,php,validation,laravel,Php,Validation,Laravel,我试图避免为此问题修改供应商包。当我添加自定义字段并调用自定义验证器时,由于验证规则,我无法使用确认代码确认用户的电子邮件。当前在app/models/UserValidator.php中使用此选项进行自定义验证: <?php use Zizaco\Confide\UserValidator as ConfideUserValidator; use Zizaco\Confide\UserValidatorInterface; class UserValidator extends Co
app/models/UserValidator.php
中使用此选项进行自定义验证:
<?php
use Zizaco\Confide\UserValidator as ConfideUserValidator;
use Zizaco\Confide\UserValidatorInterface;
class UserValidator extends ConfideUserValidator implements UserValidatorInterface {
// Custom rules for account validation
public $rules = [
'create' => [
'first_name' => 'required|alpha|max:100',
'last_name' => 'required|alpha|max:100',
'username' => 'required|min:3|max:20|alpha_dash',
'email' => 'required|email|unique:users|max:100',
'password' => 'required|min:8',
],
'update' => [
'username' => 'required|min:3|max:20|alpha_dash',
'email' => 'required|email|unique:users|max:100',
'password' => 'required|min:8',
]
];
}
并将其临时替换为:
return parent::save($options);
然后一切都会正常运转。我是不是遗漏了什么?更新规则是否应该包含有关已确认
列的内容
编辑:为
更新
规则集提供一个空白数组可以消除错误,但我需要在用户更新其配置文件时验证这些字段。我认为问题在于,在用户注册后,您试图验证用户的电子邮件是否唯一。因此,他们的电子邮件已经在数据库中(因此不是唯一的)。删除“unique:users |”应允许您验证字段
'update' => [
'username' => 'required|min:3|max:20|alpha_dash',
'email' => 'required|email|max:100',
'password' => 'required|min:8',
]
是的,就是这样。谢谢!
'update' => [
'username' => 'required|min:3|max:20|alpha_dash',
'email' => 'required|email|max:100',
'password' => 'required|min:8',
]