Aggiornamento
Aggiornamento alla versione 3.3
- la protezione CSRF automatica è passata da
isSameSite()aisFrom(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 metodogetUntrustedValues()- anche i
$valuespassati ai gestorionSuccesseonClickcontengono 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::URLcompleta ora un protocollo mancante conhttpsinvece che conhttp Form::addImage()è stato rinominato inaddImageButton()Checkbox::getSeparatorPrototype()è stato rinominato ingetContainerPrototype()- i form non creano più la variabile
$_formnei 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.jsalla versione 3 (npm install nette-forms) ChoiceControl::$checkAllowedValueseMultiChoiceControl::$checkAllowedValuessono stati sostituiti dal metodocheckDefaultValue()
Aggiornamento alla versione 2.4
- se un controllo ha una regola aggiunta con
addRule()(cioè è di fatto obbligatorio), dovete contrassegnarlo come obbligatorio anche consetRequired(); inoltresetRequired(false)rende ora il controllo facoltativo, il che sostituisce i ramiaddCondition($form::FILLED) - i validatori
Form::EMAIL,URLeINTEGERcambiano automaticamente l'attributo HTMLtyperispettivamente inemail,urlenumber - le regole di validazione negative sono deprecate; l'alternativa a
~Form::FILLEDèForm::BLANK, e~Form::EQUALsi può sostituire conForm::NOT_EQUAL - il parametro interno
doviene 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 inNette\Forms\Validator, così comeRules::$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(...)