|  |  | @ -8,6 +8,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | namespace yii\validators; |  |  |  | namespace yii\validators; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | use Yii; |  |  |  | use Yii; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | use yii\base\InvalidConfigException; | 
			
		
	
		
		
			
				
					
					|  |  |  | use yii\helpers\Html; |  |  |  | use yii\helpers\Html; | 
			
		
	
		
		
			
				
					
					|  |  |  | use yii\web\JsExpression; |  |  |  | use yii\web\JsExpression; | 
			
		
	
		
		
			
				
					
					|  |  |  | use yii\helpers\Json; |  |  |  | use yii\helpers\Json; | 
			
		
	
	
		
		
			
				
					|  |  | @ -50,6 +51,8 @@ class EmailValidator extends Validator | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/** |  |  |  | 	/** | 
			
		
	
		
		
			
				
					
					|  |  |  | 	 * @var boolean whether validation process should take into account IDN (internationalized domain |  |  |  | 	 * @var boolean whether validation process should take into account IDN (internationalized domain | 
			
		
	
		
		
			
				
					
					|  |  |  | 	 * names). Defaults to false meaning that validation of emails containing IDN will always fail. |  |  |  | 	 * names). Defaults to false meaning that validation of emails containing IDN will always fail. | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	 * Note that in order to use IDN validation you have to install and enable `intl` PHP extension, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	 * otherwise an exception would be thrown. | 
			
		
	
		
		
			
				
					
					|  |  |  | 	 */ |  |  |  | 	 */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 	public $enableIDN = false; |  |  |  | 	public $enableIDN = false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -60,6 +63,9 @@ class EmailValidator extends Validator | 
			
		
	
		
		
			
				
					
					|  |  |  | 	public function init() |  |  |  | 	public function init() | 
			
		
	
		
		
			
				
					
					|  |  |  | 	{ |  |  |  | 	{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		parent::init(); |  |  |  | 		parent::init(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		if ($this->enableIDN && !function_exists('idn_to_ascii')) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			throw new InvalidConfigException('In order to use IDN validation intl extension must be installed and enabled.'); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if ($this->message === null) { |  |  |  | 		if ($this->message === null) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			$this->message = Yii::t('yii', '{attribute} is not a valid email address.'); |  |  |  | 			$this->message = Yii::t('yii', '{attribute} is not a valid email address.'); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
	
		
		
			
				
					|  |  | 
 |