Zend Framework:设置首字母大写的验证器

发布于 2024-11-19 17:53:31 字数 384 浏览 5 评论 0原文

对于我的学校项目,我尝试在 Zend 中制作一个表单。

我想插入一个验证器,第一个字母必须是大写字母。

我应该在这段代码中更改什么才能使其正常工作?

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

如果有人可以帮助我,请提前致谢!

For my school project, I try to make a form in Zend.

I would like to insert a Validator that the first letter has to be a Capital letter.

What should I change in this piece of code to make this work?

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

If anyone could help me with this, thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

锦爱 2024-11-26 17:53:32

您始终可以使用正则表达式验证器来完成类似的事情。我有点忙,所以请随时介入并提供完整的代码示例。

哦,有人刚刚做了

You can always use the regex validiator for things like this. I am little busy so please feel free to step in and provide a complete code example.

Oh, somebody just did

浪漫之都 2024-11-26 17:53:31

也许这个自定义验证器会有所帮助:

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)

Maybe this custom validator will be helpful:

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;
    }    
}

I didn't test it, but is should work.

Another way would be to use Zend_Validate_Regex, e.g.

//match first capital letter
$validator = new Zend_Validate_Regex(array('pattern' => '/^[A-Z]/'));
// and add it to your element, ->addValidator($validator)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文