Form Events =========== The following is the list of the form events and where they happen: On Controllers -------------- - **RecoveryController** - **FormEvent::EVENT_BEFORE_REQUEST**: Occurs before a password recovery request - **FormEvent::EVENT_AFTER_REQUEST**: Occurs after a password recovery request - **RegistrationController** - **FormEvent::EVENT_BEFORE_RESEND**: Occurs before a confirmation message is being sent via email - **FormEvent::EVENT_AFTER_RESEND**: Occurs after a confirmation message is being sent via email - **FormEvent::EVENT_BEFORE_REGISTER**: Occurs before user registration - **FormEvent::EVENT_AFTER_REGISTER**: Occurs after user registration - **SecurityController** - **FormEvent::EVENT_BEFORE_LOGIN**: Occurs before a user logs into the system - **FormEvent::EVENT_AFTER_LOGIN**: Occurs after a user logs into the system How to Work With Form Events ---------------------------- All these events received an instance of a `Da\User\Event\FormEvent`. The event receives an instance of a form depending on where its being called. The following is the list of the forms accessible via `FormEvent::getForm()`: - **FormEvent::EVENT_BEFORE_LOGIN|EVENT_AFTER_LOGIN**: It will contain a `Da\User\Form\LoginForm` instance with the submitted data - **FormEvent::EVENT_BEFORE_RESEND|EVENT_AFTER_RESEND**: It will contain a `Da\User\Form\ResendForm` instance with the submitted data - **FormEvent::EVENT_BEFORE_REQUEST|EVENT_AFTER_REQUEST**: It will contain a `Da\User\Form\RecoveryForm` instance with the submitted data The recommended way to make use of events is by creating a new file in your config folder (i.e. `events.php`), configure there all your events and then include that file on your [`entry script`](http://www.yiiframework.com/doc-2.0/guide-structure-entry-scripts.html). Here is an example of setting an event for the `RecoveryController`: ```php getForm(); // ... your logic here }); ``` Now, include `events.php` file to your entry script (i.e. `index.php`). The following is taken from the Yii 2 Advanced Application Template: ```php run(); ``` © [2amigos](http://www.2amigos.us/) 2013-2019