addUpload, problém s omezením max file size
- Marsme
- Člen | 75
Pokud aplikuji tyhle pravidla tak by mi mělo nette javascriptem zahlásit že soubor je větší nebo se pletu?
<?php
$form->addUpload("file","Obrázek")
->setRequired("Musíte vložit obrázek")
->addRule(Form::IMAGE,"Obrázky jsou povolené pouze ve formátech JPG,PNG a GIF.")
->addRule(Form::MAX_FILE_SIZE,"Maximální velikost obrázku může být 3MB",3145728);
?>
Když provedu nahrání tak se mi v případě že obrázek splňuje velikost nahraje úspěšně ale v případě že nesplňuje tak to nic nezahlásí pouze se to neodešle. Pokud ale nevyberu obrázek tak mi nette hlásí že ho musím vybrat. Kde může být problém?
- Ot@s
- Backer | 476
Marsme napsal(a):
.. ale v případě že nesplňuje tak to nic nezahlásí pouze se to neodešle.
Jak vykresluješ formulář? Pokud ručně, tak je třeba do šablony přidat i render chyb:
<ul class="errors" n:if="$form->hasErrors()">
<li n:foreach="$form->errors as $error">{$error}</li>
</ul>
Pokud necháváš generovat formulář „automaticky“, tak hláška
o velikosti souboru by se měla zobrazit. Ještě můžeš zkontrolvat velikost
cfg direktiv upload_max_filesize
a post_max_size
.
Nevím jak validátor v Nette reaguje na překročený limit (php takový
soubor na server nenahraje).
- MartyIX
- Člen | 217
Ot@s napsal(a):
Marsme napsal(a):
Pokud aplikuji tyhle pravidla tak by mi mělo nette javascriptem zahlásit že soubor je větší nebo se pletu?
Na klientovi to velikost souboru nevaliduje (jak to v prohlížeči zjistit pomocí JS?), ale absenci povinné položky ano.
https://github.com/…tte/pull/773 – tady jiz ano
Editoval MartyIX (10. 9. 2012 15:42)