3

私の学校のプロジェクトでは、Zend でフォームを作成しようとしています。

最初の文字が大文字でなければならないバリデーターを挿入したいと思います。

これを機能させるには、このコードの何を変更する必要がありますか?

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

誰かがこれで私を助けることができれば、事前に感謝します!

4

2 に答える 2

3

たぶん、このカスタムバリデーターが役に立ちます:

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)
于 2011-07-13T14:42:08.420 に答える
0

このような場合はいつでも正規表現バリディエーターを使用できます。私は少し忙しいので、気軽に介入して完全なコード例を提供してください。

ああ、誰かがやった

于 2011-07-13T14:49:58.693 に答える