Formularz kontaktowy
Wreszcie miałem chwilę czasu by ukończyć formularz kontaktowy i muszę stwierdzić, że na sfForm-sach to mordęga. Po pierwsze trzeba przebrnąć przez stosy dokumentacji by zrobić prostą funkcjonalność, którą w czystym PHP robi się w chwilę. Po drugie znajomość HTML-a na nic się nie przyda bo selecty robi się widget-em sfWidgetFormChoice, a nie select. Ale co najbardziej mnie wkurzyło to to, że chcąc uniemożliwić dodawanie dowolnych znaczników HTML (co robi funkcja strip_tags w PHP) na polach trzeba robić hacki np. taki szybki hack jak poniżej.
class ExampleContactForm extends BaseExampleContactForm {
/**
* @see sfFormPropel
*/
public function processValues( $values )
{
foreach( $values as $key => $value ) {
if ( is_string( $value ) ) {
$values[$key] = strip_tags( $value, '<a><b>' );
} // endif
} // endforeach
return parent::processValues( $values );
} // processValues
} // class ExampleContactForm
Jedynie jaki plus zrobienia formularza kontaktowego na sfFrom-sach przychodzi mi do głowy to brak powtórzeń kodu i łatwość modyfikacji formularza użytego kilka razy w tym samym miejscu. W moim przypadku w frontendzie i backendzie nie muszę robić podwójnej walidacji ani opisów kolumn.
Brak zabezpieczenia przeciw botom jest celowy i pozwoli mi sprawdzić czy jakiś skrypcik wyśle jakąś wiadomość.
News przez RSS

