public function clientValidateAttribute($model, $attribute, $view)
{
if (strpos($this->pattern, '{schemes}') !== false) {
$pattern = str_replace('{schemes}', '(' . implode('|', $this->validSchemes) . ')', $this->pattern);
} else {
$pattern = $this->pattern;
}
$options = ['pattern' => new JsExpression($pattern), 'message' => Yii::$app->getI18n()->format($this->message, ['attribute' => $model->getAttributeLabel($attribute)], Yii::$app->language), 'enableIDN' => (bool) $this->enableIDN];
if ($this->skipOnEmpty) {
$options['skipOnEmpty'] = 1;
}
if ($this->defaultScheme !== null) {
$options['defaultScheme'] = $this->defaultScheme;
}
ValidationAsset::register($view);
if ($this->enableIDN) {
PunycodeAsset::register($view);
}
return 'yii.validation.url(value, messages, ' . Json::htmlEncode($options) . ');';
}