How do I create a new form for the account area?

To create a form you need to create a class that extends the AccountAreaForm class.

The $sections array lists the views used to render the form.

The method method defines the method that the form will use (this should be post, get, put, or delete).

The route method should return the URL for the form. A $data variable is accessible in case the route requires parameters that are available in the data.

<?php

namespace Acme\MyModule;

use Aero\AccountArea\AccountAreaForm;

class MyForm extends AccountAreaForm
{
    protected $sections = [
        'email' => 'account-area::partials.email-input',
        'password' => 'account-area::partials.password-input',
        'forgot-password' => 'account-area::partials.login-forgot-password-link',
        'submit' => 'account-area::partials.login-button',
    ];

    protected function method(): string
    {
        return 'post';
    }

    protected function route($data): string
    {
        return route('login');
    }
}

 

Registering a form

Any form you wish to use in the account area should be registered in your service provider.

<?php

namespace Acme\MyModule;

use Aero\AccountArea\AccountArea;
use Aero\Common\Providers\ModuleServiceProvider;

class ServiceProvider extends ModuleServiceProvider
{
    public function setup(): void 
    {
        AccountArea::registerForm(MyForm::class);
    }
}

Articles in this section

Was this article helpful?
0 out of 0 found this helpful