Actualización
Actualización a la versión 3.3
- la protección automática contra CSRF pasó de
isSameSite()aisFrom(FetchSite::SameOrigin)y se volvió más estricta: las peticiones que llegan desde subdominios ya no pasan - gracias a eso,
addProtection()ya no hace falta, porque la protección automática cubre los mismos casos; omítalo en los formularios nuevos y elimínelo sin problema de los existentes
Por qué ya no hacen falta los tokens en la sesión se explica en el artículo Quarter Century of CSRF.
Actualización a la versión 3.1
getValues()devuelve solo los elementos validados; si necesita los valores de todos los elementos independientemente de la validación, use el nuevo métodogetUntrustedValues()- los
$valuesque se pasan a los manejadoresonSuccessyonClickcontienen igualmente solo los elementos validados - los formularios independientes están protegidos automáticamente contra CSRF mediante una cookie con la bandera SameSite;
puede permitir el envío desde otro origen con
allowCrossOrigin() - la regla
Form::URLcompleta ahora el protocolo que falta conhttpsen lugar dehttp Form::addImage()se ha renombrado aaddImageButton()Checkbox::getSeparatorPrototype()se ha renombrado agetContainerPrototype()- los formularios ya no crean la variable
$_formen las plantillas
Más sobre estos cambios en el artículo News in Nette Forms 3.1.
Actualización a la versión 3.0
- todos los elementos de formulario son ahora opcionales de forma predeterminada (este cambio se introdujo en Nette 2.4), así
que puede eliminar
setRequired(false) - no olvide actualizar
netteForms.jsa la versión 3 (npm install nette-forms) ChoiceControl::$checkAllowedValuesyMultiChoiceControl::$checkAllowedValuesse han sustituido por el métodocheckDefaultValue()
Actualización a la versión 2.4
- si un elemento tiene una regla mediante
addRule()(es decir, es en la práctica obligatorio), tiene que marcarlo además como obligatorio consetRequired(); además,setRequired(false)hace ahora que el elemento sea opcional, lo que sustituye a las ramasaddCondition($form::FILLED) - los validadores
Form::EMAIL,URLeINTEGERcambian automáticamente el atributo HTMLtypeaemail,urlynumber, respectivamente - las reglas de validación negativas están obsoletas; la alternativa a
~Form::FILLEDesForm::BLANK, y~Form::EQUALse puede sustituir porForm::NOT_EQUAL - el parámetro interno
dose envía ahora por POST como_dopara evitar una colisión - las variables internas con guion bajo, como
$_form, están obsoletas - recuerde actualizar
netteForms.js
Actualización a la versión 2.3
- se han eliminado los métodos internos de filtrado, como
Nette\Forms\Controls\TextBase::filterFloat - los métodos internos de validación, como
TextBase::validateFloat, se han movido aNette\Forms\Validator, igual queRules::$defaultMessages - los botones y los campos Hidden se generan sin ID de HTML; si quiere un ID, establézcalo con
setHtmlId() - los elementos de RadioList también se generan sin ID; puede activarlo con
$radioList->generateId = true - los filtros añadidos con
TextBase::addFilter()se procesan durante la validación, y ahora puede añadir filtros a las condiciones:$input->addCondition(...)->addFilter(...)