Nette Documentation Preview

syntax
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 |https://blog.nette.org/en/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 |https://blog.nette.org/en/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(...)`

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(...)