diff --git a/yii/validators/BooleanValidator.php b/yii/validators/BooleanValidator.php index 3fc8c72..8cc3b0c 100644 --- a/yii/validators/BooleanValidator.php +++ b/yii/validators/BooleanValidator.php @@ -102,6 +102,7 @@ class BooleanValidator extends Validator $options['strict'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.boolean(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/CaptchaValidator.php b/yii/validators/CaptchaValidator.php index f446d5f..bb0d333 100644 --- a/yii/validators/CaptchaValidator.php +++ b/yii/validators/CaptchaValidator.php @@ -113,6 +113,7 @@ class CaptchaValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.captcha(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/CompareValidator.php b/yii/validators/CompareValidator.php index 2fce4fc..21a6442 100644 --- a/yii/validators/CompareValidator.php +++ b/yii/validators/CompareValidator.php @@ -205,6 +205,7 @@ class CompareValidator extends Validator '{compareValue}' => $compareValue, ))); + $view->registerAssetBundle('yii/form'); return 'yii.validation.compare(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/EmailValidator.php b/yii/validators/EmailValidator.php index 141b747..54f2f5e 100644 --- a/yii/validators/EmailValidator.php +++ b/yii/validators/EmailValidator.php @@ -119,10 +119,6 @@ class EmailValidator extends Validator */ public function clientValidateAttribute($object, $attribute, $view) { - if ($this->enableIDN) { - $view->registerAssetBundle('punycode'); - } - $options = array( 'pattern' => new JsExpression($this->pattern), 'fullPattern' => new JsExpression($this->fullPattern), @@ -137,6 +133,10 @@ class EmailValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); + if ($this->enableIDN) { + $view->registerAssetBundle('punycode'); + } return 'yii.validation.email(value, messages, ' . Json::encode($options) . ');'; } } diff --git a/yii/validators/NumberValidator.php b/yii/validators/NumberValidator.php index 24735ec..e23c816 100644 --- a/yii/validators/NumberValidator.php +++ b/yii/validators/NumberValidator.php @@ -151,6 +151,7 @@ class NumberValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.number(value, messages, ' . Json::encode($options) . ');'; } } diff --git a/yii/validators/RangeValidator.php b/yii/validators/RangeValidator.php index 9cf4cb3..cb4c25d 100644 --- a/yii/validators/RangeValidator.php +++ b/yii/validators/RangeValidator.php @@ -103,6 +103,7 @@ class RangeValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.range(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/RegularExpressionValidator.php b/yii/validators/RegularExpressionValidator.php index d28dc22..feae920 100644 --- a/yii/validators/RegularExpressionValidator.php +++ b/yii/validators/RegularExpressionValidator.php @@ -112,6 +112,7 @@ class RegularExpressionValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.regularExpression(value, messages, ' . Json::encode($options) . ');'; } } diff --git a/yii/validators/RequiredValidator.php b/yii/validators/RequiredValidator.php index 797da2e..6dde138 100644 --- a/yii/validators/RequiredValidator.php +++ b/yii/validators/RequiredValidator.php @@ -126,6 +126,7 @@ class RequiredValidator extends Validator '{value}' => $object->$attribute, ))); + $view->registerAssetBundle('yii/form'); return 'yii.validation.required(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/StringValidator.php b/yii/validators/StringValidator.php index 9982fc1..752c9ab 100644 --- a/yii/validators/StringValidator.php +++ b/yii/validators/StringValidator.php @@ -170,6 +170,7 @@ class StringValidator extends Validator $options['skipOnEmpty'] = 1; } + $view->registerAssetBundle('yii/form'); return 'yii.validation.string(value, messages, ' . json_encode($options) . ');'; } } diff --git a/yii/validators/UrlValidator.php b/yii/validators/UrlValidator.php index d80238e..58afad9 100644 --- a/yii/validators/UrlValidator.php +++ b/yii/validators/UrlValidator.php @@ -117,10 +117,6 @@ class UrlValidator extends Validator */ public function clientValidateAttribute($object, $attribute, $view) { - if ($this->enableIDN) { - $view->registerAssetBundle('punycode'); - } - if (strpos($this->pattern, '{schemes}') !== false) { $pattern = str_replace('{schemes}', '(' . implode('|', $this->validSchemes) . ')', $this->pattern); } else { @@ -142,6 +138,10 @@ class UrlValidator extends Validator $options['defaultScheme'] = $this->defaultScheme; } + $view->registerAssetBundle('yii/form'); + if ($this->enableIDN) { + $view->registerAssetBundle('punycode'); + } return 'yii.validation.url(value, messages, ' . Json::encode($options) . ');'; } } diff --git a/yii/widgets/ActiveForm.php b/yii/widgets/ActiveForm.php index 25a2054..0225f76 100644 --- a/yii/widgets/ActiveForm.php +++ b/yii/widgets/ActiveForm.php @@ -134,7 +134,6 @@ class ActiveForm extends Widget $id = $this->options['id']; $options = Json::encode($this->getClientOptions()); $attributes = Json::encode($this->attributes); - $this->view->registerAssetBundle('yii/form'); $this->view->registerJs("jQuery('#$id').yiiActiveForm($attributes, $options);"); } echo Html::endForm();