Nette Documentation Preview

syntax
Aggiornamento
*************


Aggiornamento alla versione 3.3
===============================

- la protezione CSRF automatica è passata da `isSameSite()` a `isFrom(FetchSite::SameOrigin)` ed è diventata più rigorosa: le richieste provenienti dai sottodomini non passano più
- grazie a questo `addProtection()` non serve più, perché la protezione automatica copre gli stessi casi; omettetelo nei nuovi form e rimuovetelo pure da quelli esistenti

Perché i token nella sessione non siano più necessari è spiegato nell'articolo [Quarter Century of CSRF |https://blog.nette.org/en/quarter-century-of-csrf].


Aggiornamento alla versione 3.1
===============================

- `getValues()` restituisce solo i controlli validati; se vi servono i valori di tutti i controlli indipendentemente dalla validazione, usate il nuovo metodo `getUntrustedValues()`
- anche i `$values` passati ai gestori `onSuccess` e `onClick` contengono solo i controlli validati
- i form autonomi sono protetti automaticamente dal CSRF con un cookie con il flag SameSite; potete permettere l'invio da un'altra origine con `allowCrossOrigin()`
- la regola `Form::URL` completa ora un protocollo mancante con `https` invece che con `http`
- `Form::addImage()` è stato rinominato in `addImageButton()`
- `Checkbox::getSeparatorPrototype()` è stato rinominato in `getContainerPrototype()`
- i form non creano più la variabile `$_form` nei template

Maggiori informazioni su queste modifiche nell'articolo [News in Nette Forms 3.1 |https://blog.nette.org/en/news-in-nette-forms-3-1].


Aggiornamento alla versione 3.0
===============================

- tutti i controlli dei form sono ora facoltativi per impostazione predefinita (questa modifica è stata introdotta in Nette 2.4), quindi potete rimuovere `setRequired(false)`
- assicuratevi di aggiornare `netteForms.js` alla versione 3 (`npm install nette-forms`)
- `ChoiceControl::$checkAllowedValues` e `MultiChoiceControl::$checkAllowedValues` sono stati sostituiti dal metodo `checkDefaultValue()`


Aggiornamento alla versione 2.4
===============================

- se un controllo ha una regola aggiunta con `addRule()` (cioè è di fatto obbligatorio), dovete contrassegnarlo come obbligatorio anche con `setRequired()`; inoltre `setRequired(false)` rende ora il controllo facoltativo, il che sostituisce i rami `addCondition($form::FILLED)`
- i validatori `Form::EMAIL`, `URL` e `INTEGER` cambiano automaticamente l'attributo HTML `type` rispettivamente in `email`, `url` e `number`
- le regole di validazione negative sono deprecate; l'alternativa a `~Form::FILLED` è `Form::BLANK`, e `~Form::EQUAL` si può sostituire con `Form::NOT_EQUAL`
- il parametro interno `do` viene ora inviato via POST come `_do`, per evitare collisioni
- le variabili interne con il trattino basso, come `$_form`, sono deprecate
- ricordatevi di aggiornare `netteForms.js`


Aggiornamento alla versione 2.3
===============================

- i metodi interni di filtraggio, come `Nette\Forms\Controls\TextBase::filterFloat`, sono stati rimossi
- i metodi interni di validazione, come `TextBase::validateFloat`, sono stati spostati in `Nette\Forms\Validator`, così come `Rules::$defaultMessages`
- i pulsanti e i campi Hidden vengono generati senza un ID HTML; se volete un ID, impostatelo con `setHtmlId()`
- anche gli elementi di RadioList vengono generati senza ID; potete attivarlo con `$radioList->generateId = true`
- i filtri aggiunti con `TextBase::addFilter()` vengono elaborati durante la validazione, e ora potete aggiungere filtri alle condizioni: `$input->addCondition(...)->addFilter(...)`

Aggiornamento

Aggiornamento alla versione 3.3

  • la protezione CSRF automatica è passata da isSameSite() a isFrom(FetchSite::SameOrigin) ed è diventata più rigorosa: le richieste provenienti dai sottodomini non passano più
  • grazie a questo addProtection() non serve più, perché la protezione automatica copre gli stessi casi; omettetelo nei nuovi form e rimuovetelo pure da quelli esistenti

Perché i token nella sessione non siano più necessari è spiegato nell'articolo Quarter Century of CSRF.

Aggiornamento alla versione 3.1

  • getValues() restituisce solo i controlli validati; se vi servono i valori di tutti i controlli indipendentemente dalla validazione, usate il nuovo metodo getUntrustedValues()
  • anche i $values passati ai gestori onSuccess e onClick contengono solo i controlli validati
  • i form autonomi sono protetti automaticamente dal CSRF con un cookie con il flag SameSite; potete permettere l'invio da un'altra origine con allowCrossOrigin()
  • la regola Form::URL completa ora un protocollo mancante con https invece che con http
  • Form::addImage() è stato rinominato in addImageButton()
  • Checkbox::getSeparatorPrototype() è stato rinominato in getContainerPrototype()
  • i form non creano più la variabile $_form nei template

Maggiori informazioni su queste modifiche nell'articolo News in Nette Forms 3.1.

Aggiornamento alla versione 3.0

  • tutti i controlli dei form sono ora facoltativi per impostazione predefinita (questa modifica è stata introdotta in Nette 2.4), quindi potete rimuovere setRequired(false)
  • assicuratevi di aggiornare netteForms.js alla versione 3 (npm install nette-forms)
  • ChoiceControl::$checkAllowedValues e MultiChoiceControl::$checkAllowedValues sono stati sostituiti dal metodo checkDefaultValue()

Aggiornamento alla versione 2.4

  • se un controllo ha una regola aggiunta con addRule() (cioè è di fatto obbligatorio), dovete contrassegnarlo come obbligatorio anche con setRequired(); inoltre setRequired(false) rende ora il controllo facoltativo, il che sostituisce i rami addCondition($form::FILLED)
  • i validatori Form::EMAIL, URL e INTEGER cambiano automaticamente l'attributo HTML type rispettivamente in email, urlnumber
  • le regole di validazione negative sono deprecate; l'alternativa a ~Form::FILLED è Form::BLANK, e ~Form::EQUAL si può sostituire con Form::NOT_EQUAL
  • il parametro interno do viene ora inviato via POST come _do, per evitare collisioni
  • le variabili interne con il trattino basso, come $_form, sono deprecate
  • ricordatevi di aggiornare netteForms.js

Aggiornamento alla versione 2.3

  • i metodi interni di filtraggio, come Nette\Forms\Controls\TextBase::filterFloat, sono stati rimossi
  • i metodi interni di validazione, come TextBase::validateFloat, sono stati spostati in Nette\Forms\Validator, così come Rules::$defaultMessages
  • i pulsanti e i campi Hidden vengono generati senza un ID HTML; se volete un ID, impostatelo con setHtmlId()
  • anche gli elementi di RadioList vengono generati senza ID; potete attivarlo con $radioList->generateId = true
  • i filtri aggiunti con TextBase::addFilter() vengono elaborati durante la validazione, e ora potete aggiungere filtri alle condizioni: $input->addCondition(...)->addFilter(...)