vlastní validace textového políčka (kontrola typu dokumentu v URL)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
siberit
Člen | 10
+
0
-

Zdravím,

jsem začátečník víceméně jak v PHP tak v Nette, proto se předem omlouvám za zřejmě pro mnohé z vás triviální dotaz.

Potřebuji ještě před uložením do db přes formulář kontrolovat zda typ dokumentu na zadané URL adresa je např. text/xml. Chtěl jsem si na to napsat funkci, která mi to pomocí cURL zkontroluje a v případě že se jedná např o obrázek tak ani nedovolí danou URL do db uložit. Našel jsem pár informací směřujícíh ke callbacku. Jde jako callback použít například metoda jiné třídy (kterou jsem si definoval jako službu v config.nenon)? případně jak by použití a zavolání takovéto funkce vypadalo pomocí ->addRule(); ve formuláři.

Mockrát děkuji za pomoc :-)

Casper
Člen | 253
+
0
-

dokumentaci jsou ty callbacky také zmíněné, nicméně nějak takto:

class RegistrationForm extends BaseForm {

	public function __construct(\Utils\Validator $validator) { // tvoje služba
		parent::__construct();

		$this->addText("url", "URL")
			->addRule(callback($validator, "checkUrl"), "Invalid URL");
	}
}