Validace file input na typ obrázku

d@rkWolf
Člen | 167
+
0
-

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)$');
?>
ali
Člen | 342
+
0
-

Pres priponu urcite nedetekuj typ obrazku.

A ten regular se mi nezda, otaznik urcite neni wild card. Z hlavy cca:

~^.?\.jp(e)?g$~i
d@rkWolf
Člen | 167
+
0
-

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
+
0
-

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.