mirror of
https://github.com/LBRYFoundation/pool.git
synced 2025-09-20 01:09:48 +00:00
78 lines
2.4 KiB
PHP
78 lines
2.4 KiB
PHP
<?php
|
|
/**
|
|
* CStringValidator class file.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright Copyright © 2008-2009 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
/**
|
|
* CStringValidator validates that the attribute value is of certain length.
|
|
*
|
|
* Note, this validator should only be used with string-typed attributes.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @version $Id: CStringValidator.php 433 2008-12-30 22:59:17Z qiang.xue $
|
|
* @package system.validators
|
|
* @since 1.0
|
|
*/
|
|
class CStringValidator extends CValidator
|
|
{
|
|
/**
|
|
* @var integer maximum length. Defaults to null, meaning no maximum limit.
|
|
*/
|
|
public $max;
|
|
/**
|
|
* @var integer minimum length. Defaults to null, meaning no minimum limit.
|
|
*/
|
|
public $min;
|
|
/**
|
|
* @var integer exact length. Defaults to null, meaning no exact length limit.
|
|
*/
|
|
public $is;
|
|
/**
|
|
* @var string user-defined error message used when the value is too long.
|
|
*/
|
|
public $tooShort;
|
|
/**
|
|
* @var string user-defined error message used when the value is too short.
|
|
*/
|
|
public $tooLong;
|
|
/**
|
|
* @var boolean whether the attribute value can be null or empty. Defaults to true,
|
|
* meaning that if the attribute is empty, it is considered valid.
|
|
*/
|
|
public $allowEmpty=true;
|
|
|
|
/**
|
|
* Validates the attribute of the object.
|
|
* If there is any error, the error message is added to the object.
|
|
* @param CModel the object being validated
|
|
* @param string the attribute being validated
|
|
*/
|
|
protected function validateAttribute($object,$attribute)
|
|
{
|
|
$value=$object->$attribute;
|
|
if($this->allowEmpty && ($value===null || $value===''))
|
|
return;
|
|
$length=strlen($value);
|
|
if($this->min!==null && $length<$this->min)
|
|
{
|
|
$message=$this->tooShort!==null?$this->tooShort:Yii::t('yii','{attribute} is too short (minimum is {min} characters).');
|
|
$this->addError($object,$attribute,$message,array('{min}'=>$this->min));
|
|
}
|
|
if($this->max!==null && $length>$this->max)
|
|
{
|
|
$message=$this->tooLong!==null?$this->tooLong:Yii::t('yii','{attribute} is too long (maximum is {max} characters).');
|
|
$this->addError($object,$attribute,$message,array('{max}'=>$this->max));
|
|
}
|
|
if($this->is!==null && $length!==$this->is)
|
|
{
|
|
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} is of the wrong length (should be {length} characters).');
|
|
$this->addError($object,$attribute,$message,array('{length}'=>$this->is));
|
|
}
|
|
}
|
|
}
|
|
|