StringLength This validator allows you to validate if a given string is between a defined length. Zend_Validate_StringLength supports only string validation It should be noted that Zend_Validate_StringLength supports only the validation of strings. Integers, floats, dates or objects can not be validated with this validator. Supported options for Zend_Validate_StringLength The following options are supported for Zend_Validate_StringLength: encoding: Sets the ICONV encoding which has to be used for this string. min: Sets the minimum allowed length for a string. max: Sets the maximum allowed length for a string. Default behaviour for Zend_Validate_StringLength Per default this validator checks if a value is between min and max. But for min the default value is 0 and for max it is NULL which means unlimited. So per default, without giving any options, this validator only checks if the input is a string. Limiting the maximum allowed length of a string To limit the maximum allowed length of a string you need to set the max property. It accepts an integer value as input. 6)); $validator->isValid("Test"); // returns true $validator->isValid("Testing"); // returns false ]]> You can set the maximum allowed length also afterwards by using the setMax() method. And getMax() to retrieve the actual maximum border. setMax(6); $validator->isValid("Test"); // returns true $validator->isValid("Testing"); // returns false ]]> Limiting the minimal required length of a string To limit the minimal required length of a string you need to set the min property. It accepts also an integer value as input. 5)); $validator->isValid("Test"); // returns false $validator->isValid("Testing"); // returns true ]]> You can set the minimal requested length also afterwards by using the setMin() method. And getMin() to retrieve the actual minimum border. setMin(5); $validator->isValid("Test"); // returns false $validator->isValid("Testing"); // returns true ]]> Limiting a string on both sides Sometimes it is required to get a string which has a maximal defined length but which is also minimal chars long. For example when you have a textbox where a user can enter his name, then you may want to limit the name to maximum 30 chars but want to get sure that he entered his name. So you limit the mimimum required length to 3 chars. See the following example: 3, 'max' => 30)); $validator->isValid("."); // returns false $validator->isValid("Test"); // returns true $validator->isValid("Testing"); // returns true ]]> Setting a lower maximum border than the minimum border When you try to set a lower maximum value as the actual minimum value, or a higher minimum value as the actual maximum value, then an exception will be raised. Encoding of values Strings are always using a encoding. Even when you don't set the encoding explicit, PHP uses one. When your application is using a different encoding than PHP itself then you should set an encoding yourself. You can set your own encoding at initiation with the encoding option, or by using the setEncoding() method. We assume that your installation uses ISO and your application it set to ISO. In this case you will see the below behaviour. 6) ); $validator->isValid("Ärger"); // returns false $validator->setEncoding("UTF-8"); $validator->isValid("Ärger"); // returns true $validator2 = new Zend_Validate_StringLength( array('min' => 6, 'encoding' => 'UTF-8') ); $validator2->isValid("Ärger"); // returns true ]]> So when your installation and your application are using different encodings, then you should always set an encoding yourself.