Zend Framework
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
renderovat jeho vlastními schopnotmi
<?php
echo $this->form ;
view
?>
Validace
Validac
Ověření správnosti vstupních dat
Řada existujících validátorů
alnum, alpha, barcode, between, callback, ccnum,
date, digits, (, regex, (
Možnost napsat validátor vlastní
Možnost napsat validátor vlastn
Validace
Validac
ve formuláři přidám k danému elementu validátor
nebo podmínku existence hodnoty
v kontroleru se ptám, zda vyplněný formulář je
// pouziti validatoru
$nameElement->setRequired();
$emailElement->addValidator(new Zend_Validate_EmailAddress());
v kontroleru se ptám, zda vyplněný formulář je
validní
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
return $this->_helper->redirector('thankyou');
}
}
Validace OK?
Psaní vlastních
Psaní vlastních validátorů
validátor
validátor je třída rozšiřující třídu
Zend_Validate_Abstract
metoda isValid($value, $context=null) vrací
true/false podle situace
V poli
$_messageTemplates uchovává seznam
chybových hlášek
chybových hláše
Metodou _error($klic) přidáme chybovou hlášku do
pole výsledných chyb.
Implementace
Implementace validátoru
validátor
library/myvalidators/Validname.php
class Myvalidator_Validname extends Zend_Validate_Abstract
{
protected $_messageTemplates = array(
"wrong_name" => "Jméno '%value%' není ani Martin ani
Petr."
);
public function isValid($value, $context = null){
public function isValid($value, $context = null)
$this->_setValue($value);
if ($value !== "Martin" && $value !== "Petr") {
$this->_error("wrong_name");
return false;
}
else {
return true;
}
return false;
}
}
Použití vlastního
Použití vlastního validátoru
validátor ve formuláři
ve formulář
$nameElement->addPrefixPath("Myvalidator",
"myvalidators/", 'validate');
Prefix namespace
Cesta ke třídě
Jedná se
o validátor
$nameElement->addValidator('validname');
o validátor
Použití validátoru na
konkrétním elementu
i18n =
i18n = internationalization
internationalizatio
Psaní kódu tak, aby bylo možné ho přeložit do