我正在努力在 Laravel Nova 资源中设置密码确认字段。
在 AppServiceProvided.php 中我有:
use Illuminate\Validation\Rules\Password;
Password::defaults(function () {
return Password::min(8)
->letters()
->numbers()
->symbols()
->mixedCase();
});
在我的 User.php 中我有:
Password::make(__('Password'))
->onlyOnForms()
->creationRules('required', Rules\Password::defaults())
->updateRules('nullable', Rules\Password::defaults()),
PasswordConfirmation::make('Password Confirmation'),
但是,通过这些字段,我可以输入两个不同的密码并仍然提交表单。
嗨,乔恩,希望你今天过得愉快:3
我看到您在没有确认字段的情况下实现了密码验证,它确保您已定义了密码和password_confirmation字段
1_有一个片段如何将确认实现到您的 user.php 中。
Password::make(__('Password'))
->onlyOnForms()
->creationRules('required', 'confirmed', Rules\Password::defaults())
->updateRules('nullable', 'confirmed', Rules\Password::defaults()),
Password::make(__('Password Confirmation'), 'password_confirmation')
->onlyOnForms()
->creationRules('required')
->updateRules('nullable'),
创建规则('必需')将确保创建过程中需要两个输入
2_ 还确保 appServiceProvider 正确设置您在代码中提供的默认密码规则
3_ 还要确保您的密码确认字段输入的表单输入名为“password_confirmation”,laravel 会自动将其与您在密码字段中应用的确认规则进行匹配
name="password_confirmation"
我希望它对您有用,如果您有任何疑问,请随时在这里回复!