Erro: ReflectionException - Class requerid does not exist

36 views
Skip to first unread message

João Marcos Siqueira Neto

unread,
Jun 19, 2017, 9:19:55 AM6/19/17
to YFB - Yii Framework Brasil
Bom dia, sou novato com Frameworks, estou aprendendo sobre Yii na prática, Yii 2 mais especificamente. Estou com o seguinte erro quando começo a trabalhar com um modelo pra validação de formulário:

"ReflectionException

Class requerid does not exist

  • 1. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\di\Container.phpat line 424
  • 2. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\di\Container.php at line 424– ReflectionClass::__construct('requerid')
  • 3. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\di\Container.php at line 364– yii\di\Container::getDependencies('requerid')
  • 4. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\di\Container.php at line 156– yii\di\Container::build('requerid', [], ['message' => 'Campo requerido''attributes' => ['email']])
  • 5. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\BaseYii.php at line 348– yii\di\Container::get('requerid', [], ['message' => 'Campo requerido''attributes' => ['email']])
  • 6. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\validators\Validator.php at line 226– yii\BaseYii::createObject(['message' => 'Campo requerido''attributes' => ['email'], 'class' => 'requerid'])
  • 7. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Model.php at line 447– yii\validators\Validator::createValidator('requerid'app\models\ValidarFormulario, ['email'], ['message' => 'Campo requerido'])
  • 8. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Model.php at line 411– yii\base\Model::createValidators()
  • 9. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Model.php at line 426– yii\base\Model::getValidators()
  • 10. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Model.php at line 472– yii\base\Model::getActiveValidators('nome')
  • 11. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\widgets\ActiveField.php at line 859– yii\base\Model::isAttributeRequired('nome')
  • 12. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\widgets\ActiveField.php at line 366– yii\widgets\ActiveField::addAriaAttributes(['class' => 'form-control'])
  • 13. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\views\site\validarformulario.php at line 18– yii\widgets\ActiveField::input('text')
  • 14. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\View.php at line 330– require('C:\xampp\htdocs\yii-basic-app-2....')
  • 15. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\View.php at line 250– yii\base\View::renderPhpFile('C:\xampp\htdocs\yii-basic-app-2....', ['model' => app\models\ValidarFormulario])
  • 16. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\View.php at line 152– yii\base\View::renderFile('C:\xampp\htdocs\yii-basic-app-2....', ['model' => app\models\ValidarFormulario], app\controllers\SiteController)
  • 17. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Controller.php at line 381– yii\base\View::render('validarformulario', ['model' => app\models\ValidarFormulario], app\controllers\SiteController)
  • 18. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\controllers\SiteController.php at line 42– yii\base\Controller::render('validarformulario', ['model' => app\models\ValidarFormulario])
  • 19. app\controllers\SiteController::actionValidarformulario()
  • 20. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\InlineAction.php at line 57– call_user_func_array([app\controllers\SiteController'actionValidarformulario'], [])
  • 21. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Controller.php at line 156– yii\base\InlineAction::runWithParams(['r' => 'site/validarformulario'])
  • 22. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Module.php at line 523– yii\base\Controller::runAction('validarformulario', ['r' => 'site/validarformulario'])
  • 23. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\web\Application.php at line 102– yii\base\Module::runAction('site/validarformulario', ['r' => 'site/validarformulario'])
  • 24. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\vendor\yiisoft\yii2\base\Application.php at line 380– yii\web\Application::handleRequest(yii\web\Request)
  • 25. in C:\xampp\htdocs\yii-basic-app-2.0.12\basic\web\index.php at line 12– yii\base\Application::run()

"


Segue o model e o action do site controller:

<?php

namespace app\models;
use Yii;
use yii\base\model;

class ValidarFormulario extends model{
    public $nome;
    public $email;
    
    public function rules(){
        return[
            ['nome','required','message' => 'Campo requerido'],
            ['nome', 'match', 'pattern' => "/^.(3,50)+$/",'message'=>'Mínimo 3 e máximo 50 caracteres'],
            ['nome', 'match', 'pattern' => "/^[0-9a-z]+$/i",'message'=>'Só é aceito letras e números'],
            ['email','requerid','message' => 'Campo requerido'],
            ['email', 'match', 'pattern' => "/^.(5,80)+$/",'message'=>'Mínimo 5 e máximo 80 caracteres'],
            ['email','email','message' => 'Formato inválido'],
        ];
    }
    
    public function attributeLabels(){
        return [
            'nome' => 'Nome:',
            'email'=> 'Email',
        ];
    }
}

public function actionValidarformulario(){
        $model = new ValidarFormulario;
        if($model->load(Yii::$app->request->post())){
            if($model->validate()){
                //por exemplo, consultar em uma base de dados
            } else {
                $model->getErrors();
            }
        }
        return $this->render("validarformulario",["model" => $model]);
    }

Já vasculhei essa internet até o avesso e não achei solução, se alguem souber como me ajudar!!
 

Kleber Nogueira

unread,
Jun 19, 2017, 9:32:46 AM6/19/17
to yii-framew...@googlegroups.com
Bom dia...

Pelo que notei, a grafia está errada.
ao invés disto:
['email','requerid','message' => 'Campo requerido'],
troque por isto:
['email','required','message' => 'Campo requerido'],

Atc.

Kleber Nogueira

--
Yii Framework Brasil
#######################################################################
 
Ao solicitar ajuda:
1. Explique o problema ou dificuldade. Seja específico!
2. Explique o que você *já tentou fazer* para resolver a situação;
3. MOSTRE CÓDIGO, sempre que possível. Esta é uma lista de programação!
 
LEMBRE-SE: se você demonstrar preguiça até mesmo para formular sua pergunta, não espere receber ajuda.
 
#######################################################################
 
04/2011: Anexos foram autorizados em votação. Use com moderação!
.
-
--
---
Você recebeu essa mensagem porque está inscrito no grupo "YFB - Yii Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-brasil+unsubscrib...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/yii-framework-brasil/dfc5c2cb-e36b-4d3b-96fd-3a3d0242d238%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

João Marcos Siqueira Neto

unread,
Jun 19, 2017, 9:55:39 AM6/19/17
to YFB - Yii Framework Brasil
Não acredito que era só isso, revirei o código todo procurando erros de grafia e isso me passou desapercebido KKK Muito obrigado Kleber!
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-brasil+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages