Browse Source

Form asset bundle registering code moved from ActiveForm::run() to the *Validator::clientValidateAttribute().

tags/2.0.0-alpha
resurtm 12 years ago
parent
commit
bf1b2d9956
  1. 1
      yii/validators/BooleanValidator.php
  2. 1
      yii/validators/CaptchaValidator.php
  3. 1
      yii/validators/CompareValidator.php
  4. 8
      yii/validators/EmailValidator.php
  5. 1
      yii/validators/NumberValidator.php
  6. 1
      yii/validators/RangeValidator.php
  7. 1
      yii/validators/RegularExpressionValidator.php
  8. 1
      yii/validators/RequiredValidator.php
  9. 1
      yii/validators/StringValidator.php
  10. 8
      yii/validators/UrlValidator.php
  11. 1
      yii/widgets/ActiveForm.php

1
yii/validators/BooleanValidator.php

@ -102,6 +102,7 @@ class BooleanValidator extends Validator
$options['strict'] = 1; $options['strict'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.boolean(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.boolean(value, messages, ' . json_encode($options) . ');';
} }
} }

1
yii/validators/CaptchaValidator.php

@ -113,6 +113,7 @@ class CaptchaValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.captcha(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.captcha(value, messages, ' . json_encode($options) . ');';
} }
} }

1
yii/validators/CompareValidator.php

@ -205,6 +205,7 @@ class CompareValidator extends Validator
'{compareValue}' => $compareValue, '{compareValue}' => $compareValue,
))); )));
$view->registerAssetBundle('yii/form');
return 'yii.validation.compare(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.compare(value, messages, ' . json_encode($options) . ');';
} }
} }

8
yii/validators/EmailValidator.php

@ -119,10 +119,6 @@ class EmailValidator extends Validator
*/ */
public function clientValidateAttribute($object, $attribute, $view) public function clientValidateAttribute($object, $attribute, $view)
{ {
if ($this->enableIDN) {
$view->registerAssetBundle('punycode');
}
$options = array( $options = array(
'pattern' => new JsExpression($this->pattern), 'pattern' => new JsExpression($this->pattern),
'fullPattern' => new JsExpression($this->fullPattern), 'fullPattern' => new JsExpression($this->fullPattern),
@ -137,6 +133,10 @@ class EmailValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
if ($this->enableIDN) {
$view->registerAssetBundle('punycode');
}
return 'yii.validation.email(value, messages, ' . Json::encode($options) . ');'; return 'yii.validation.email(value, messages, ' . Json::encode($options) . ');';
} }
} }

1
yii/validators/NumberValidator.php

@ -151,6 +151,7 @@ class NumberValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.number(value, messages, ' . Json::encode($options) . ');'; return 'yii.validation.number(value, messages, ' . Json::encode($options) . ');';
} }
} }

1
yii/validators/RangeValidator.php

@ -103,6 +103,7 @@ class RangeValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.range(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.range(value, messages, ' . json_encode($options) . ');';
} }
} }

1
yii/validators/RegularExpressionValidator.php

@ -112,6 +112,7 @@ class RegularExpressionValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.regularExpression(value, messages, ' . Json::encode($options) . ');'; return 'yii.validation.regularExpression(value, messages, ' . Json::encode($options) . ');';
} }
} }

1
yii/validators/RequiredValidator.php

@ -126,6 +126,7 @@ class RequiredValidator extends Validator
'{value}' => $object->$attribute, '{value}' => $object->$attribute,
))); )));
$view->registerAssetBundle('yii/form');
return 'yii.validation.required(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.required(value, messages, ' . json_encode($options) . ');';
} }
} }

1
yii/validators/StringValidator.php

@ -170,6 +170,7 @@ class StringValidator extends Validator
$options['skipOnEmpty'] = 1; $options['skipOnEmpty'] = 1;
} }
$view->registerAssetBundle('yii/form');
return 'yii.validation.string(value, messages, ' . json_encode($options) . ');'; return 'yii.validation.string(value, messages, ' . json_encode($options) . ');';
} }
} }

8
yii/validators/UrlValidator.php

@ -117,10 +117,6 @@ class UrlValidator extends Validator
*/ */
public function clientValidateAttribute($object, $attribute, $view) public function clientValidateAttribute($object, $attribute, $view)
{ {
if ($this->enableIDN) {
$view->registerAssetBundle('punycode');
}
if (strpos($this->pattern, '{schemes}') !== false) { if (strpos($this->pattern, '{schemes}') !== false) {
$pattern = str_replace('{schemes}', '(' . implode('|', $this->validSchemes) . ')', $this->pattern); $pattern = str_replace('{schemes}', '(' . implode('|', $this->validSchemes) . ')', $this->pattern);
} else { } else {
@ -142,6 +138,10 @@ class UrlValidator extends Validator
$options['defaultScheme'] = $this->defaultScheme; $options['defaultScheme'] = $this->defaultScheme;
} }
$view->registerAssetBundle('yii/form');
if ($this->enableIDN) {
$view->registerAssetBundle('punycode');
}
return 'yii.validation.url(value, messages, ' . Json::encode($options) . ');'; return 'yii.validation.url(value, messages, ' . Json::encode($options) . ');';
} }
} }

1
yii/widgets/ActiveForm.php

@ -134,7 +134,6 @@ class ActiveForm extends Widget
$id = $this->options['id']; $id = $this->options['id'];
$options = Json::encode($this->getClientOptions()); $options = Json::encode($this->getClientOptions());
$attributes = Json::encode($this->attributes); $attributes = Json::encode($this->attributes);
$this->view->registerAssetBundle('yii/form');
$this->view->registerJs("jQuery('#$id').yiiActiveForm($attributes, $options);"); $this->view->registerJs("jQuery('#$id').yiiActiveForm($attributes, $options);");
} }
echo Html::endForm(); echo Html::endForm();

Loading…
Cancel
Save