Добрый день,
Есть такая
форма:
$form = ActiveForm::begin([
'id'=>$model->formName(),
'validationUrl'=>Url::to(['/orders/default/validation']),
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'validateOnBlur'=>true,
'validateOnChange'=>true,
'fieldConfig' => [
'template' => '<div class="c-order-checkout__group">{label}{input}{error} </div>',
'inputOptions'=>[
'class'=>'form-control h-form__input h-input-response'
],
'options' => [
'tag' => false,
],
]
]);
ValidateAction:
class ValidationAction extends Action
{
public function run() // $id
{
$model = new $this->modelClass;
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
}
При нажатии на кнопку
Submit формы, в
Firebug XHR Хрома содержится ответ в виде
JSON:
{"orders-user_name":["Необходимо заполнить «user-name»."],"orders-user_phone":["Необходимо заполнить «Телефон»."],"orders-user_email":["Необходимо заполнить «e-mail»."],"orders-customer_id":["Необходимо заполнить «Пользовать»."]}
Но данные ошибки не выводятся автоматически в блоки с классами
help-block рядом с полями формы. Получается надо самому это реализовывать? Или я где то накосячил?
Нарыл такой скрипт
Jquery:
$.each(data, function(key, val) {
$('#'+key).after('<div class='help-block'>'+val+'</div>');
$('#'+key).closest('.form-group').addClass('has-error');
});
Но не знаю - куда это вставлять? Подскажите пожалуйста.