Получаю ошибку при открытии сайта:
Ошибка появляется после добавления в форму:Fatal error: Uncaught ReflectionException: Class "app\models\ReCaptchaValidator" does not exist in C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php:507 Stack trace: #0 C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php(507): ReflectionClass->__construct('app\models\ReCa...') #1 C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php(385): yii\di\Container->getDependencies('app\models\ReCa...') #2 C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php(170): yii\di\Container->build('app\models\ReCa...', Array, Array) #3 C:\xampp\htdocs\vendor\yiisoft\yii2\BaseYii.php(365): yii\di\Container->get('app\models\ReCa...', Array, Array) #4 C:\xampp\htdocs\vendor\yiisoft\yii2\validators\Validator.php(230): yii\BaseYii::createObject(Array) #5 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(461): yii\validators\Validator::createValidator('app\models\ReCa...', Object(app\models\CustomersForm), Array, Array) #6 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(413): yii\base\Model->createValidators() #7 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(188): yii\base\Model->getValidators() #8 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(808): yii\base\Model->scenarios() #9 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(427): yii\base\Model->activeAttributes() #10 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(487): yii\base\Model->getActiveValidators('theme') #11 C:\xampp\htdocs\vendor\yiisoft\yii2\widgets\ActiveField.php(932): yii\base\Model->isAttributeRequired('theme') #12 C:\xampp\htdocs\vendor\yiisoft\yii2\widgets\ActiveField.php(652): yii\widgets\ActiveField->addAriaAttributes(Array) #13 C:\xampp\htdocs\views\site\customers.php(66): yii\widgets\ActiveField->dropDownList(Array, Array) #14 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(347): require('C:\xampp\htdocs...') #15 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(257): yii\base\View->renderPhpFile('C:\xampp\htdocs...', Array) #16 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(156): yii\base\View->renderFile('C:\xampp\htdocs...', Array, Object(app\controllers\SiteController)) #17 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Controller.php(407): yii\base\View->render('customers', Array, Object(app\controllers\SiteController)) #18 C:\xampp\htdocs\controllers\SiteController.php(181): yii\base\Controller->render('customers', Array) #19 [internal function]: app\controllers\SiteController->actionCustomers(NULL) #20 C:\xampp\htdocs\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array) #21 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Controller.php(178): yii\base\InlineAction->runWithParams(Array) #22 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Module.php(552): yii\base\Controller->runAction('customers', Array) #23 C:\xampp\htdocs\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction('site/customers', Array) #24 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Application.php(384): yii\web\Application->handleRequest(Object(yii\web\Request)) #25 C:\xampp\htdocs\web\index.php(14): yii\base\Application->run() #26 {main} Next yii\di\NotInstantiableException: Failed to instantiate component or class "app\models\ReCaptchaValidator". in C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php:509 Stack trace: #0 C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php(385): yii\di\Container->getDependencies('app\models\ReCa...') #1 C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php(170): yii\di\Container->build('app\models\ReCa...', Array, Array) #2 C:\xampp\htdocs\vendor\yiisoft\yii2\BaseYii.php(365): yii\di\Container->get('app\models\ReCa...', Array, Array) #3 C:\xampp\htdocs\vendor\yiisoft\yii2\validators\Validator.php(230): yii\BaseYii::createObject(Array) #4 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(461): yii\validators\Validator::createValidator('app\models\ReCa...', Object(app\models\CustomersForm), Array, Array) #5 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(413): yii\base\Model->createValidators() #6 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(188): yii\base\Model->getValidators() #7 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(808): yii\base\Model->scenarios() #8 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(427): yii\base\Model->activeAttributes() #9 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Model.php(487): yii\base\Model->getActiveValidators('theme') #10 C:\xampp\htdocs\vendor\yiisoft\yii2\widgets\ActiveField.php(932): yii\base\Model->isAttributeRequired('theme') #11 C:\xampp\htdocs\vendor\yiisoft\yii2\widgets\ActiveField.php(652): yii\widgets\ActiveField->addAriaAttributes(Array) #12 C:\xampp\htdocs\views\site\customers.php(66): yii\widgets\ActiveField->dropDownList(Array, Array) #13 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(347): require('C:\xampp\htdocs...') #14 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(257): yii\base\View->renderPhpFile('C:\xampp\htdocs...', Array) #15 C:\xampp\htdocs\vendor\yiisoft\yii2\base\View.php(156): yii\base\View->renderFile('C:\xampp\htdocs...', Array, Object(app\controllers\SiteController)) #16 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Controller.php(407): yii\base\View->render('customers', Array, Object(app\controllers\SiteController)) #17 C:\xampp\htdocs\controllers\SiteController.php(181): yii\base\Controller->render('customers', Array) #18 [internal function]: app\controllers\SiteController->actionCustomers(NULL) #19 C:\xampp\htdocs\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array) #20 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Controller.php(178): yii\base\InlineAction->runWithParams(Array) #21 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Module.php(552): yii\base\Controller->runAction('customers', Array) #22 C:\xampp\htdocs\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction('site/customers', Array) #23 C:\xampp\htdocs\vendor\yiisoft\yii2\base\Application.php(384): yii\web\Application->handleRequest(Object(yii\web\Request)) #24 C:\xampp\htdocs\web\index.php(14): yii\base\Application->run() #25 {main} thrown in C:\xampp\htdocs\vendor\yiisoft\yii2\di\Container.php on line 509
Код: Выделить всё
public $reCaptcha;
public function rules()
{
return [
// ...
[['reCaptcha'], \himiklab\yii2\recaptcha\ReCaptchaValidator2::className(),
'secret' => 'your secret key', // unnecessary if reСaptcha is already configured
'uncheckedMessage' => 'Please confirm that you are not a bot.'],
];
}
Код: Выделить всё
protected function getDependencies($class)
{
if (isset($this->_reflections[$class])) {
return [$this->_reflections[$class], $this->_dependencies[$class]];
}
$dependencies = [];
try {
$reflection = new ReflectionClass($class);
} catch (\ReflectionException $e) {
throw new NotInstantiableException(
$class,
'Failed to instantiate component or class "' . $class . '".',
0,
$e
);
}