Aktualizacja

Aktualizacja do wersji 3.3

  • automatyczna ochrona przed CSRF przeszła z isSameSite() na isFrom(FetchSite::SameOrigin) i stała się surowsza: żądania przychodzące z subdomen już nie przechodzą
  • dzięki temu addProtection() nie jest już potrzebne, bo automatyczna ochrona pokrywa te same przypadki; w nowych formularzach je pomiń, a z istniejących śmiało usuń

Dlaczego tokeny w sesji nie są już potrzebne, wyjaśnia artykuł Ćwierć wieku CSRF.

Aktualizacja do wersji 3.1

  • getValues() zwraca tylko zwalidowane elementy; jeśli potrzebujesz wartości wszystkich elementów niezależnie od walidacji, użyj nowej metody getUntrustedValues()
  • $values przekazywane do handlerów onSuccess i onClick zawierają tak samo tylko zwalidowane elementy
  • samodzielne formularze są automatycznie chronione przed CSRF za pomocą cookie z flagą SameSite; wysyłanie z innego origin możesz dopuścić metodą allowCrossOrigin()
  • reguła Form::URL uzupełnia teraz brakujący protokół jako https zamiast http
  • Form::addImage() zostało przemianowane na addImageButton()
  • Checkbox::getSeparatorPrototype() zostało przemianowane na getContainerPrototype()
  • formularze nie tworzą już w szablonach zmiennej $_form

Więcej o tych zmianach w artykule Nowości w Nette Forms 3.1.

Aktualizacja do wersji 3.0

  • wszystkie elementy formularza są teraz domyślnie opcjonalne (ta zmiana pojawiła się w Nette 2.4), więc setRequired(false) możesz usunąć
  • koniecznie zaktualizuj netteForms.js do wersji 3 (npm install nette-forms)
  • ChoiceControl::$checkAllowedValues i MultiChoiceControl::$checkAllowedValues zostały zastąpione metodą checkDefaultValue()

Aktualizacja do wersji 2.4

  • jeśli element ma regułę dodaną przez addRule() (czyli jest faktycznie obowiązkowy), musisz oznaczyć go jako obowiązkowy także przez setRequired(); poza tym setRequired(false) czyni teraz element opcjonalnym, co zastępuje gałęzie addCondition($form::FILLED)
  • walidatory Form::EMAIL, URL i INTEGER automatycznie zmieniają atrybut HTML type odpowiednio na email, urlnumber
  • negatywne reguły walidacyjne są przestarzałe; alternatywą dla ~Form::FILLED jest Form::BLANK, a ~Form::EQUAL możesz zastąpić przez Form::NOT_EQUAL
  • wewnętrzny parametr do jest teraz wysyłany metodą POST jako _do, żeby uniknąć kolizji
  • wewnętrzne zmienne z podkreśleniem, takie jak $_form, są przestarzałe
  • pamiętaj o aktualizacji netteForms.js

Aktualizacja do wersji 2.3

  • wewnętrzne metody filtrujące, takie jak Nette\Forms\Controls\TextBase::filterFloat, zostały usunięte
  • wewnętrzne metody walidacyjne, takie jak TextBase::validateFloat, zostały przeniesione do Nette\Forms\Validator, podobnie jak Rules::$defaultMessages
  • Buttony i pola Hidden są generowane bez HTML-owego ID; jeśli chcesz ID, ustaw je metodą setHtmlId()
  • pozycje RadioList są również generowane bez ID; możesz je włączyć przez $radioList->generateId = true
  • filtry dodane przez TextBase::addFilter() są przetwarzane podczas walidacji, a filtry możesz teraz dodawać do warunków: $input->addCondition(...)->addFilter(...)
wersja: 4.x