Actualización

Actualización a la versión 3.3

  • la protección automática contra CSRF pasó de isSameSite() a isFrom(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étodo getUntrustedValues()
  • los $values que se pasan a los manejadores onSuccess y onClick contienen 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::URL completa ahora el protocolo que falta con https en lugar de http
  • Form::addImage() se ha renombrado a addImageButton()
  • Checkbox::getSeparatorPrototype() se ha renombrado a getContainerPrototype()
  • los formularios ya no crean la variable $_form en 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.js a la versión 3 (npm install nette-forms)
  • ChoiceControl::$checkAllowedValues y MultiChoiceControl::$checkAllowedValues se han sustituido por el método checkDefaultValue()

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 con setRequired(); además, setRequired(false) hace ahora que el elemento sea opcional, lo que sustituye a las ramas addCondition($form::FILLED)
  • los validadores Form::EMAIL, URL e INTEGER cambian automáticamente el atributo HTML type a email, url y number, respectivamente
  • las reglas de validación negativas están obsoletas; la alternativa a ~Form::FILLED es Form::BLANK, y ~Form::EQUAL se puede sustituir por Form::NOT_EQUAL
  • el parámetro interno do se envía ahora por POST como _do para 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 a Nette\Forms\Validator, igual que Rules::$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(...)
versión: 4.x