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

Zend framework 我可以限制用户在zend表单文本字段中只写站点链接吗,zend-framework,Zend Framework,//我想用户只能写链接,而不是其他文本 $url = $this->createElement('textarea','url'); $url->setLabel('Url: '); $url->setRequired(true); $url->setAttrib('cols',40); $url->setAttrib('rows',4); $this->addElement($url); 假设您只想验证一个链接,您可

//我想用户只能写链接,而不是其他文本

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

假设您只想验证一个链接,您可以向字段中添加URL验证程序。像下面这样

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

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

$url = $this->createElement('textarea','url');
    $url->setLabel('Url: ');
    $url->setRequired(true);
    $url->setAttrib('cols',40);
    $url->setAttrib('rows',4);
    $this->addElement($url);
编码
您的\u Validate\u Uri
类后,您可以执行以下操作:

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