LiveForm validace, vlastní funkce v addRule funguje až po odeslání formuláře
- vb76
- Člen | 16
Ahoj,
mám vytvořený formulář kde používám vlastní funkci pro ověření existence e-mailové adresy ve formuláři. Všechna ostatní pravidla se mi zobrazují v span bloku s třídou .help-block. Jen toto jedno pravidlo se mi validuje až po odeslání formuláře do $form->errors.
Napadá někoho čím by to mohlo být, případně jak toto vyřešit?
protected function createStep1(): Form
{
$form = $this->createForm();
$form->addText('iEmail', 'E-mail:')
->setRequired('Položka musí být vyplněna!')
->addRule($form::MAX_LENGTH, 'Položka musí obsahovat maximálně %d znaků!', 50)
->addRule($form::EMAIL, 'Zadejte platnou e-mailovou adresu!')
->addRule(function($control)
{
return $this->account->emailCheck($control->value);
}, 'E-mailová adresa již v systému existuje!');
$form->addSubmit(self::NEXT_SUBMIT_NAME, 'Pokračovat');
return $form;
}