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ść.

Autor: Tomasz Rutkowski
Data publikacji: 2010-01-03 10:51

Opublikuj na: Facebook Twitter Wykop