Laravel Nova中密码确认功能无法正常工作的问题排查
解决Laravel Nova密码确认字段不校验的问题
问题根源是密码字段未添加confirmed验证规则,Laravel依赖这个规则来校验密码与确认密码的一致性。
修改User资源中的Password字段配置,在creationRules和updateRules里加入confirmed规则即可:
Password::make(__('Password')) ->onlyOnForms() ->creationRules('required', 'confirmed', Rules\Password::defaults()) ->updateRules('nullable', 'confirmed', Rules\Password::defaults()), PasswordConfirmation::make('Password Confirmation'),
confirmed规则会自动匹配名为password_confirmation的字段,而Nova的PasswordConfirmation组件默认生成的就是这个字段名,因此无需额外调整字段名称。
更新场景下,nullable规则允许用户不修改密码,此时confirmed规则仅在密码字段有值时才会触发校验,完全符合业务逻辑。
内容的提问来源于stack exchange,提问作者Jon Menard
相关产品推荐
相关产品推荐

