|  |  |  | @ -8,6 +8,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | namespace yii\validators; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | use Yii; | 
			
		
	
		
			
				
					|  |  |  |  | use yii\helpers\Html; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | /** | 
			
		
	
		
			
				
					|  |  |  |  |  * StringValidator validates that the attribute value is of certain length. | 
			
		
	
	
		
			
				
					|  |  |  | @ -132,56 +133,47 @@ class StringValidator extends Validator | 
			
		
	
		
			
				
					|  |  |  |  | 		$label = $object->getAttributeLabel($attribute); | 
			
		
	
		
			
				
					|  |  |  |  | 		$value = $object->$attribute; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$message = strtr($this->message, array( | 
			
		
	
		
			
				
					|  |  |  |  | 			'{attribute}' => $label, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{value}' => $value, | 
			
		
	
		
			
				
					|  |  |  |  | 		)); | 
			
		
	
		
			
				
					|  |  |  |  | 		$notEqual = strtr($this->notEqual, array( | 
			
		
	
		
			
				
					|  |  |  |  | 			'{attribute}' => $label, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{value}' => $value, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{length}' => $this->is, | 
			
		
	
		
			
				
					|  |  |  |  | 		)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$tooShort = strtr($this->tooShort, array( | 
			
		
	
		
			
				
					|  |  |  |  | 			'{attribute}' => $label, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{value}' => $value, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{min}' => $this->min, | 
			
		
	
		
			
				
					|  |  |  |  | 		)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$tooLong = strtr($this->tooLong, array( | 
			
		
	
		
			
				
					|  |  |  |  | 			'{attribute}' => $label, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{value}' => $value, | 
			
		
	
		
			
				
					|  |  |  |  | 			'{max}' => $this->max, | 
			
		
	
		
			
				
					|  |  |  |  | 		)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$js = ''; | 
			
		
	
		
			
				
					|  |  |  |  | 		$options = array( | 
			
		
	
		
			
				
					|  |  |  |  | 			'message' => Html::encode($message), | 
			
		
	
		
			
				
					|  |  |  |  | 			'notEqual' => Html::encode($notEqual), | 
			
		
	
		
			
				
					|  |  |  |  | 			'tooShort' => Html::encode($tooShort), | 
			
		
	
		
			
				
					|  |  |  |  | 			'tooLong' => Html::encode($tooLong), | 
			
		
	
		
			
				
					|  |  |  |  | 		); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if ($this->min !== null) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$js .= " | 
			
		
	
		
			
				
					|  |  |  |  | if(value.length< {$this->min}) { | 
			
		
	
		
			
				
					|  |  |  |  | 	messages.push(" . json_encode($tooShort) . "); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | "; | 
			
		
	
		
			
				
					|  |  |  |  | 			$options['min'] = $this->min; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		if ($this->max !== null) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$js .= " | 
			
		
	
		
			
				
					|  |  |  |  | if(value.length> {$this->max}) { | 
			
		
	
		
			
				
					|  |  |  |  | 	messages.push(" . json_encode($tooLong) . "); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | "; | 
			
		
	
		
			
				
					|  |  |  |  | 			$options['max'] = $this->max; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		if ($this->is !== null) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$js .= " | 
			
		
	
		
			
				
					|  |  |  |  | if(value.length!= {$this->is}) { | 
			
		
	
		
			
				
					|  |  |  |  | 	messages.push(" . json_encode($notEqual) . "); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | "; | 
			
		
	
		
			
				
					|  |  |  |  | 			$options['is'] = $this->is; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if ($this->skipOnEmpty) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$js = " | 
			
		
	
		
			
				
					|  |  |  |  | if($.trim(value)!='') { | 
			
		
	
		
			
				
					|  |  |  |  | 	$js | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | "; | 
			
		
	
		
			
				
					|  |  |  |  | 			$options['skipOnEmpty'] = 1; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		return $js; | 
			
		
	
		
			
				
					|  |  |  |  | 		return 'yii.validation.string(value, messages, ' . json_encode($options) . ');'; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |