php - Symfony Callback Validation with Yaml -


my validation not being called when defined using validation.yml. using php or annotation works fine.

namespace appbundle\form;  use symfony\component\validator\context\executioncontextinterface;  class loginform {     private $login;     private $password;      public function __construct($login, $password)     {         $this->login = $login;         $this->password = $password;     }      public function validate(executioncontextinterface $context)     {         $context->buildviolation('error')             ->atpath('login')             ->addviolation();     } } 

this validation.yml

appbundle\form\loginform:     constraints:         - callback: [validate] 

and controller

class logincontroller extends controller {     public function loginaction(request $request)     {         if ($request->ismethod('post')) {             $login = $request->request->get('loginform_login');             $password = $request->request->get('loginform_password');             $form = new loginform($login, $password);             $errors = $this->get('validator')->validate($form);             if (count($errors) > 0) {                 return $this->render('login/error.html.twig');             }             return $this->render('login/ok.html.twig');         }         return $this->render('login/login.html.twig');     } } 

the above code returns 'ok', no matter login or password type. clue?

you need put validation.yml file in resources/config directory of bundle.

as of symfony 2.7 symfony load files resources/config/validation directory.

quoting official docs:

as of symfony 2.7, xml , yaml constraint files located in resources/config/validation sub-directory of bundle loaded. prior 2.7, resources/config/validation.yml (or .xml) loaded.

some examples of valid paths:

  • src/appbundle/resources/config/validation.yml
  • src/appbundle/resources/config/validation/foo.yml

Comments

Popular posts from this blog

javascript - Chart.js (Radar Chart) different scaleLineColor for each scaleLine -

apache - Error with PHP mail(): Multiple or malformed newlines found in additional_header -

java - Android – MapFragment overlay button shadow, just like MyLocation button -