设置Zend ValidatorRules的最大和最小字符串长度

设置Zend ValidatorRules的最大和最小字符串长度

问题描述:

我正在学习Zend Framework的开始。设置Zend ValidatorRules的最大和最小字符串长度

我需要检查,如果字符串有超过最大,也就是说,200,和最小长度为0

这里是我创建的validatorRules:

$validators = array('descr' => array(array('stringLength', array('max'=>200)))); 

但这种验证返回,如果假该stringLength为0

我要的是一个验证的是确保我的字符串低于200(0长度是可接受的)

编辑:我不是ü唱形式,而是一个REST Web服务,它接受来自查询字符串的输入,所以'setRequired'在我的情况下不起作用。

任何解决方案?

谢谢。

OK确保你没有setRequired(true);(或将其设置为false,如果你喜欢),然后使用addValidator('stringLength', false, array(0, 200))

+0

感谢您的回复。我想我没有清楚地说明我的问题。我想验证器返回true,即使我的字符串是长度为0.谢谢。 – VHanded 2012-01-04 03:57:43

+0

啊对不起,请参阅我的编辑 – redmoon7777 2012-01-04 04:10:56

+0

谢谢,但我没有使用Zend_Form,而是使用Zend_Rest_Controller,其中输入从querystring传入。 – VHanded 2012-01-04 07:00:23

这为我工作。但是当文本长度不在2和200的限制之间时,我看不到任何错误消息。

这是我使用的代码。

 
    $this->addElement('text', 'name', array(
     'filters' => array('StringTrim'), 
     'validators' => array(array('StringLength', false, array(2, 100)),), 
     'required' => true, 
     'label' => "First Name", 
     'value' => "firstname", 
     'class' => 'classname' 
    )); 

+0

'StringLength'之后,什么意思是param false? – 2016-04-17 19:17:32