maxLength = $maxLength; parent::__construct($name, $title, $value, $form); } /** * @param int $length */ public function setMaxLength($length) { $this->maxLength = $length; return $this; } /** * @return int */ public function getMaxLength() { return $this->maxLength; } public function getAttributes() { return array_merge( parent::getAttributes(), array( 'maxlength' => $this->getMaxLength(), 'size' => ($this->getMaxLength()) ? min($this->getMaxLength(), 30) : null ) ); } public function InternallyLabelledField() { if(!$this->value) $this->value = $this->Title(); return $this->Field(); } /** * Validate this field * * @param Validator $validator * @return bool */ public function validate($validator) { if(!is_null($this->maxLength) && mb_strlen($this->value) > $this->maxLength) { $validator->validationError( $this->name, _t( 'TextField.VALIDATEMAXLENGTH', 'The value for {name} must not exceed {maxLength} characters in length', array('name' => $this->getName(), 'maxLength' => $this->maxLength) ), "validation" ); return false; } return true; } }