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
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
V 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");
}
}