我可以限制用户只在zend表单文本字段中写入站点链接

时间:2014-05-22 05:26:12

标签: zend-framework

//我希望用户只能编写链接而不是其他文本

$url = $this->createElement('textarea','url');
    $url->setLabel('Url: ');
    $url->setRequired(true);
    $url->setAttrib('cols',40);
    $url->setAttrib('rows',4);
    $this->addElement($url);

2 个答案:

答案 0 :(得分:1)

假设您只想验证一个链接,可以在字段中添加URL验证器。像下面的东西。

$url = new Zend_Form_Element_Text('url');
$url->setOptions(
    array(
        'label'      => 'Url: ',
        'validators' => array(
                            'NotEmpty',
                            array(
                                'Callback',
                                true,
                                array(
                                    'callback' => function($value) {
                                        return Zend_Uri::check($value);
                                    }
                                ),
                                'messages' => array(
                                    Zend_Validate_Callback::INVALID_VALUE => 'Please enter a valid URL',
                                ),
                            ),
                        ),
    )
);

答案 1 :(得分:0)

您可以使用自定义验证器 网络上有很多例子,如hereherehere(法语)......

编码Your_Validate_Uri课程后,你可以这样做:

$url->addValidator(new Your_Validate_Uri());