Nittro – validace prvků formuláře – DOM a styly

jirik.mik
Člen | 2
+
0
-

Zdravím,

po čase jsem se dostal k tvorbě nového projektu v Nette. V dokumentaci jsem se dočetl, že se doporučuje Nittro nebo Naja. Navíc Live Form Validation (jedna z věcí, proč jsem se kdysi do Nette celkem nadchnul) se nezdá být kompatibilní s Nette 3 (odpovídající pull request je tam půl roku bez povšimnutí). Zkusil jsem zatím Nittro, validace prvků formuláře se zdá být jako taková funkční, ale pro vizuální výstup je to u mě nedostačující. Při chybě daného pole se přidá <span> s třídou „error“. Já bych ale potřeboval:

  1. aby šlo o třídy „error invalid-feedback“
  2. aby se také změnila třída samotného validovaného pole, např. na „form-control is-invalid“

Je s Nittro toto možné? Pokud jsem přehlédl nějaké možnosti nastavení, prosím o nakopnutí.

Díky!

jahudka
Člen | 71
+
+2
-

Zdravím, u Nittra to jde, potřebujete si vytvořit vlastní implementaci služby formErrorRenderer, výchozí implementace je tady: https://github.com/…rRenderer.js

V zásadě by vaše implementace měla mít dvě metody: addError(form, element, message) a cleanupErrors(form, element) – ta první je asi jasná a ta druhá by měla „vyresetovat“ cokoliv, co udělala ta první. Pak ji jen zaregistrujete v DI kontejneru pod ID formErrorRenderer a Nittro ji použije :-)