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

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

Aggiornamento alla versione 3.1

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

Aggiornamento alla versione 3.0

Aggiornamento alla versione 2.4

Aggiornamento alla versione 2.3