Validace file input na typ obrázku
- d@rkWolf
- Člen | 167
Zdravím,
existuje nějaký způsob, jak validovat(i s js live validací) upload pole ve
formuláři na specifický typ obrázku?
Form::IMAGE validuje vůči JPG/PNG/GIF, potřeboval bych definovat
specificky pouze 1 typ.
Form::MIME_TYPE nefunguje s live validací, takže nedostanu žádná chybovou
hlášku, neodpovídající obrázek se sice nenahraje, ale je to na nic.
Zkoušel jsem použít PATTERN, ale bohužel, i přes vyzkoušení asi tak 50 zápisů reguálních výrazů mi nic neprocházelo, netuším, zda to píšu špatně, nebo co…když tento regex vyzkouším v testeru, detekuje mi jpg či jpeg, validace mi ale vyhazuje fail.
<?php
->addRule(Form::PATTERN, 'Musí být typ JPG/JPEG', '\.(jp?g)$');
?>
- d@rkWolf
- Člen | 167
Jo, radši bych použil ten MIME_TYPE, ale když u něj nefunguje live validace, tak je to na houby, když to použiju, mám při ukládání červený pole „název“, „typ“ nebo co to tam ještě je povinné…a nic u file inputu, kam právě uživatel, co neumí číst, nacpal jpg když tam patří png, dá uložit a nestane se nic, položka se neuloží, ale neobjeví se chybová hláška.
Regulární výrazy mi nejdou, když to jde, tak se jim vyhýbám…zkusím tenhle, co to udělá.
- d@rkWolf
- Člen | 167
Tak to vypadá, že mi ten pattern v live validaci vůbec nefunguje, ani když tam dám např. /\X+/ co by mělo sežral jakýkoliv unicode(opět dle regex101.com funguje) mi hlásí ten soubor jako chybu, tak tam holt nechám jen validaci na image a budu občasné problémy opravovat ručně, vyjde to časově líp, než hledat, kde je chyba, vzhledem k tomu, že systém je neupgradovatelný, na starém nette, s kombinací starých scriptů, která při jakékoliv změně či pokusu o upgrade přestane fungovat, tak se nedá nic dělat.