Pravidlo Form::FILLED sa neaplikuje na file input v Nette 1.0?

- Matúš Matula
 - Člen | 257
 
Pri nastaveni pravidla Form::FILLED sa neprida atribut data-nette-rules k inputu a validacia na serveri tiez nefunguje..
<?php
$form = new AppForm($this, $name);
$form->addFile('file', 'File')
	->addRule(Form::FILLED, 'File cannot be empty');
?>
Je to bug alebo robim nieco zle? Dik..

- Aurielle
 - Člen | 1281
 
Vím, že file inputy jsou pro JS omezené, nicméně nic nebrání přečíst název souboru a cestu: (skript je převzatý z MediaWiki, upravený pro použití v mé aplikaci, v Firefoxu 3.6.8 funguje bezproblémově)
 <script type="text/javascript">
        	/* <![CDATA[ */
            function fillDestFilename(fileinput, id)
			{
                if (!document.getElementById)
				{
                    return;
                }
                var path = fileinput.value;
                // Find trailing part
                var slash = path.lastIndexOf('/');
                var backslash = path.lastIndexOf('\\');
                var fname;
                if (slash == -1 && backslash == -1) {
                    fname = path;
                }
                else
                    if (slash > backslash) {
                        fname = path.substring(slash + 1, 10000);
                    }
                    else {
                        fname = path.substring(backslash + 1, 10000);
                    }
                // Capitalise first letter and replace spaces by underscores
                fname = fname.charAt(0).toUpperCase().concat(fname.substring(1, 10000)).replace(/ /g, '-');
                // Output result
                var destFile = document.getElementById(id);
                if (destFile) {
                    destFile.value = fname;
                }
            }
			/* ]]> */
</script>
				
- redhead
 - Člen | 1313
 
Také bych byl aspoň pro tu FILLED operaci (resp. pro všechno kromě validace MIME_TYPE).
Jinak co se týče cesty získané přes JS, někdo mi říkal, že některý browser zobrazí pouze jméno souboru a ostatní i cestu k němu (chtěl totiž udělat preview obrázku z lokalního filesystému, což mu bez cesty nešlo..)
Editoval redhead (31. 8. 2010 16:50)

- Matúš Matula
 - Člen | 257
 
redhead napsal(a):
… Jinak co se týče cesty získané přes JS, někdo mi říkal, že některý browser zobrazí pouze jméno souboru a ostatní i cestu k němu (chtěl totiž udělat preview obrázku z lokalního filesystému, což mu bez cesty nešlo..)
Je to tak, kedysi som to tiez skusal.. min. tu validaciu FILLED by som tiez privital.

- David Grudl
 - Nette Core | 8285
 
Že lze zjistit value je pro mě novinka. V době, kdy vznikaly NForms, to žádný významný prohlížeč neumožňoval. Takhle samozřejmě FILLED validaci nic nebrání.

- Jan Tvrdík
 - Nette guru | 2595
 
Mám dojem, že validace na FILLED fungovala v Nette vždycky a přestala až po posledním refactoringu týkajícího se HTML 5.