Zjištění jestli je FileUpload prázdný

sd
Člen | 87
+
0
-

Zdravím,

přešel jsem teď na Nette 3 a přestala mi fungovat kontrola jestli je upload z formuláře prázdný nebo ne.

Vždy jsem to řešil pomocí:

/**
* ...
* @param Nette\Http\FileUpload $file Image to upload
*/
function update($file, ...): void
{

	...

	if($file->name) {
		// Upload
	} else {
		// Nedělej nic - nech původní obrázek
	}

	...
}

Nyní dostávám TypeError Return value of Nette\Http\FileUpload::getName() must be of the type string, null returned – return type declaration vyžaduje aby se název se vrátil jako string, ale to u prázdného uploadu je null..

Je tedy nějaká správná cesta jak tu kontrolu vyřešit?

Díky moc,
sd

Editoval sd (4. 5. 2019 22:29)

sd
Člen | 87
+
0
-

Vyřešeno. Kdyby se náhodou někomu také hodilo:

if ($file->hasFile()) { ... }

Editoval sd (4. 5. 2019 22:27)

Polki
Člen | 553
+
0
-

Co třeba použít toto a pak ověřovat, jestli se správně nahrálo pomocí metod $values->image->isFilled() a $values->image->isOk() o kterých se dá dozvědět v Nette API ?

Dohromady by to mělo dělat, že ověří, jestli uživatel pole vyplnil a pokud ano, tak se zeptá, jestli se soubor úspěšně nahrál. To si myslím bohatě postačuje ne? :)

Editoval Polki (4. 5. 2019 22:28)

sd
Člen | 87
+
0
-

@Polki Pravda, díky moc :)

Editoval sd (4. 5. 2019 22:36)