密码中是否存在defaults()方法?
我创建了一个服务提供商来验证 Laravel 8 中的密码,但出现此错误:
Call to undefined method IlluminateValidationRulesPassword::defaults()
PasswordRuleServiceProvider 被加入 app.php
// Custom Service Providers
AppProvidersPasswordRuleServiceProvider::class,
这是提供者:
<?php
namespace AppProviders;
use IlluminateSupportServiceProvider;
use IlluminateValidationRulesPassword;
class PasswordRuleServiceProvider extends ServiceProvider
{
public function register()
{
//
}
public function boot()
{
Password::defaults(function () {
$rule = Password::min(8)->letters()->mixedCase()->numbers()->symbols()->uncompromised(3);
return $rule;
});
}
}
我按照 Laravel 文档执行此操作,但它不起作用,密码中是否存在默认方法?谢谢。
回答
正如您在该类的提交历史中Password看到的那样,该方法直到 Laravel v8.42.0(2021 年 5 月 18 日发布)才存在。如果要调用这样的方法,请确保至少使用该版本。
下次,您应该检查项目中的源代码以获取此类方法,而不是互联网上的任何其他版本。您链接的源代码可能比那个更新