设置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))
答
这为我工作。但是当文本长度不在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
感谢您的回复。我想我没有清楚地说明我的问题。我想验证器返回true,即使我的字符串是长度为0.谢谢。 – VHanded 2012-01-04 03:57:43
啊对不起,请参阅我的编辑 – redmoon7777 2012-01-04 04:10:56
谢谢,但我没有使用Zend_Form,而是使用Zend_Rest_Controller,其中输入从querystring传入。 – VHanded 2012-01-04 07:00:23