Zend Framework: установить валидатор для начальной буквы как заглавную - PullRequest
3 голосов
/ 13 июля 2011

Для моего школьного проекта я пытаюсь сделать форму в Zend.

Я хотел бы добавить Валидатор, что первая буква должна быть заглавной.

Что я должен изменить в этом куске кода, чтобы эта работа работала?

        $voornaam = $this->createElement('text', 'voornaam');
    $voornaam->setLabel('Voornaam:')
            ->setAttrib('size', 50)->addValidator('StringLength', false,array(2,30))
                ->setRequired(true);

Если кто-нибудь может мне помочь с этим, заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Может быть, этот пользовательский валидатор будет полезен:

class My_Validate_FirstCapital extends Zend_Validate_Abstract {

    const CAPITAL = 'capital';

    protected $_messageTemplates = array(
        self::CAPITAL => "First letter is not capital"
    );

    public function isValid($value, $context = null) {            

        if ($value != ucfirst($value)) {
            $this->_error(self::CAPITAL);
            return false;
        }

        return true;
    }    
}

Я не проверял, но это должно работать.

Другим способом было бы использовать Zend_Validate_Regex , например.

//match first capital letter
$validator = new Zend_Validate_Regex(array('pattern' => '/^[A-Z]/'));
// and add it to your element, ->addValidator($validator)
0 голосов
/ 13 июля 2011

Вы всегда можете использовать валидатор регулярных выражений для подобных вещей. Я немного занят, поэтому, пожалуйста, не стесняйтесь и предоставьте полный пример кода.

О, кто-то только что сделал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...