Nette Documentation Preview

syntax
Yükseltme
*********


Sürüm 3.3'e Yükseltme
=====================

- otomatik CSRF koruması `isSameSite()` yerine `isFrom(FetchSite::SameOrigin)` kullanmaya geçti ve katılaştı: alt alan adlarından gelen istekler artık geçmiyor
- bu sayede `addProtection()` artık gerekmiyor, çünkü otomatik koruma aynı durumları kapsıyor; yeni formlarda onu atlayın ve var olanlardan çekinmeden kaldırın

Oturumdaki token'ların neden artık gerekmediği [Çeyrek yüzyıllık CSRF |https://blog.nette.org/en/quarter-century-of-csrf] yazısında anlatılıyor.


Sürüm 3.1'e Yükseltme
=====================

- `getValues()` yalnızca doğrulanan öğeleri döndürüyor; doğrulamadan bağımsız olarak tüm öğelerin değerlerine ihtiyacınız varsa yeni `getUntrustedValues()` metodunu kullanın
- `onSuccess` ve `onClick` işleyicilerine aktarılan `$values` de aynı şekilde yalnızca doğrulanan öğeleri içeriyor
- bağımsız formlar, SameSite bayraklı bir çerezle CSRF'ye karşı otomatik olarak korunuyor; `allowCrossOrigin()` ile başka bir kaynaktan gönderime izin verebilirsiniz
- `Form::URL` kuralı artık eksik protokolü `http` yerine `https` ile tamamlıyor
- `Form::addImage()` metodunun adı `addImageButton()` oldu
- `Checkbox::getSeparatorPrototype()` metodunun adı `getContainerPrototype()` oldu
- formlar artık şablonlarda `$_form` değişkenini oluşturmuyor

Bu değişiklikler hakkında daha fazlası [Nette Forms 3.1'deki yenilikler |https://blog.nette.org/en/news-in-nette-forms-3-1] yazısında.


Sürüm 3.0'a Yükseltme
=====================

- artık tüm form öğeleri varsayılan olarak isteğe bağlı (bu değişiklik Nette 2.4'te geldi), dolayısıyla `setRequired(false)` çağrılarını kaldırabilirsiniz
- `netteForms.js` dosyasını 3. sürüme güncellemeyi unutmayın (`npm install nette-forms`)
- `ChoiceControl::$checkAllowedValues` ve `MultiChoiceControl::$checkAllowedValues` yerini `checkDefaultValue()` metoduna bıraktı


Sürüm 2.4'e Yükseltme
=====================

- bir öğenin `addRule()` ile kuralı varsa (yani fiilen zorunluysa), onu `setRequired()` ile de zorunlu işaretlemelisiniz; ayrıca `setRequired(false)` artık öğeyi isteğe bağlı yapıyor ve bu, `addCondition($form::FILLED)` dallarının yerini alıyor
- `Form::EMAIL`, `URL` ve `INTEGER` doğrulayıcıları HTML `type` niteliğini sırasıyla otomatik olarak `email`, `url` ve `number` yapıyor
- olumsuz doğrulama kuralları kullanımdan kaldırıldı; `~Form::FILLED` yerine `Form::BLANK`, `~Form::EQUAL` yerine ise `Form::NOT_EQUAL` kullanılabilir
- iç parametre `do`, çakışmayı önlemek için artık POST ile `_do` olarak gönderiliyor
- `$_form` gibi alt çizgili iç değişkenler kullanımdan kaldırıldı
- `netteForms.js` dosyasını güncellemeyi unutmayın


Sürüm 2.3'e Yükseltme
=====================

- `Nette\Forms\Controls\TextBase::filterFloat` gibi iç filtreleme metotları kaldırıldı
- `TextBase::validateFloat` gibi iç doğrulama metotları, `Rules::$defaultMessages` ile birlikte `Nette\Forms\Validator` sınıfına taşındı
- Button ve Hidden alanları HTML ID'si olmadan üretiliyor; ID istiyorsanız `setHtmlId()` ile ayarlayın
- RadioList öğeleri de ID olmadan üretiliyor; bunu `$radioList->generateId = true` ile açabilirsiniz
- `TextBase::addFilter()` ile eklenen filtreler doğrulama sırasında işleniyor ve artık koşullara da filtre ekleyebilirsiniz: `$input->addCondition(...)->addFilter(...)`

Yükseltme

Sürüm 3.3'e Yükseltme

  • otomatik CSRF koruması isSameSite() yerine isFrom(FetchSite::SameOrigin) kullanmaya geçti ve katılaştı: alt alan adlarından gelen istekler artık geçmiyor
  • bu sayede addProtection() artık gerekmiyor, çünkü otomatik koruma aynı durumları kapsıyor; yeni formlarda onu atlayın ve var olanlardan çekinmeden kaldırın

Oturumdaki token'ların neden artık gerekmediği Çeyrek yüzyıllık CSRF yazısında anlatılıyor.

Sürüm 3.1'e Yükseltme

  • getValues() yalnızca doğrulanan öğeleri döndürüyor; doğrulamadan bağımsız olarak tüm öğelerin değerlerine ihtiyacınız varsa yeni getUntrustedValues() metodunu kullanın
  • onSuccess ve onClick işleyicilerine aktarılan $values de aynı şekilde yalnızca doğrulanan öğeleri içeriyor
  • bağımsız formlar, SameSite bayraklı bir çerezle CSRF'ye karşı otomatik olarak korunuyor; allowCrossOrigin() ile başka bir kaynaktan gönderime izin verebilirsiniz
  • Form::URL kuralı artık eksik protokolü http yerine https ile tamamlıyor
  • Form::addImage() metodunun adı addImageButton() oldu
  • Checkbox::getSeparatorPrototype() metodunun adı getContainerPrototype() oldu
  • formlar artık şablonlarda $_form değişkenini oluşturmuyor

Bu değişiklikler hakkında daha fazlası Nette Forms 3.1'deki yenilikler yazısında.

Sürüm 3.0'a Yükseltme

  • artık tüm form öğeleri varsayılan olarak isteğe bağlı (bu değişiklik Nette 2.4'te geldi), dolayısıyla setRequired(false) çağrılarını kaldırabilirsiniz
  • netteForms.js dosyasını 3. sürüme güncellemeyi unutmayın (npm install nette-forms)
  • ChoiceControl::$checkAllowedValues ve MultiChoiceControl::$checkAllowedValues yerini checkDefaultValue() metoduna bıraktı

Sürüm 2.4'e Yükseltme

  • bir öğenin addRule() ile kuralı varsa (yani fiilen zorunluysa), onu setRequired() ile de zorunlu işaretlemelisiniz; ayrıca setRequired(false) artık öğeyi isteğe bağlı yapıyor ve bu, addCondition($form::FILLED) dallarının yerini alıyor
  • Form::EMAIL, URL ve INTEGER doğrulayıcıları HTML type niteliğini sırasıyla otomatik olarak email, url ve number yapıyor
  • olumsuz doğrulama kuralları kullanımdan kaldırıldı; ~Form::FILLED yerine Form::BLANK, ~Form::EQUAL yerine ise Form::NOT_EQUAL kullanılabilir
  • iç parametre do, çakışmayı önlemek için artık POST ile _do olarak gönderiliyor
  • $_form gibi alt çizgili iç değişkenler kullanımdan kaldırıldı
  • netteForms.js dosyasını güncellemeyi unutmayın

Sürüm 2.3'e Yükseltme

  • Nette\Forms\Controls\TextBase::filterFloat gibi iç filtreleme metotları kaldırıldı
  • TextBase::validateFloat gibi iç doğrulama metotları, Rules::$defaultMessages ile birlikte Nette\Forms\Validator sınıfına taşındı
  • Button ve Hidden alanları HTML ID'si olmadan üretiliyor; ID istiyorsanız setHtmlId() ile ayarlayın
  • RadioList öğeleri de ID olmadan üretiliyor; bunu $radioList->generateId = true ile açabilirsiniz
  • TextBase::addFilter() ile eklenen filtreler doğrulama sırasında işleniyor ve artık koşullara da filtre ekleyebilirsiniz: $input->addCondition(...)->addFilter(...)