Validace povinného pole: Vyplňte prosím toto pole

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
stemba
Člen | 20
+
0
-

Mám takovýto formulář:

	$form = new Form($this, $name);
	$form->addPassword('oldPassword', 'Old password:')
		->setRequired('Old password is required');
	$form->addPassword('newPassword', 'New password:')
		->setRequired('New password is required')
		->addRule(Form::MIN_LENGTH, 'Heslo musí mít alespoň %d znaky', 5);
	$form->addPassword('retypePassword', 'Retype new password:')
		->setRequired('Retype password is required')
		->addRule(Form::EQUAL, 'Hesla se neshodují', $form['newPassword']);;
	$form->addSubmit('changePass', 'Change password');
	$form->onSuccess[] = callback($this, 'changePasswordSubmitted');
	return $form;

Problém je ve validaci, kdy při nevyplnění povinného políčka se stále ukazuje hláška „Vyplňte prosím toto pole“, přestože javascript povolený mám a netteForms.js taky.

A ještě navíc občas vyskočí klasický Alert ve kterém to je správně a občas tahle „bublina“, ve které je to špatně..

Kde by mohl být problém? Díky

jtousek
Člen | 951
+
0
-

Ta špatná hláška není Nette ale validace samotného prohlížeče. Zřejmě ti kvůli nečemu zhavaruje javascript, podívej se do konzole.

stemba
Člen | 20
+
0
-

Tak jsem zjistil, že je to kvůli tomu, že formulář je ve snippetu, který je stránky generován přes Ajax a parvděpodobně kvůli tomu to nefunguje. (Je to formulář v popup okně-DIVu) Když to zobrazim „natvrdo“ tak není problém…

Napadá někoho co s tím?

koprkuba
Člen | 24
+
0
-

Můžeš se také podívat na kuchařku co jsem se pokoušel napsat, ale nikdo mi ji neschválil tak nevím zda je úplně správně.
Celý problém je popsán v tomto tématu https://forum.nette.org/…o-selectboxy
Každopádně jsem řešil problém s googleMapsAPI, nejednalo se tedy jen o závislý select ale také o dynamické zpracování formulářových polí pro GoogleApi.