Здравствуйте! На сайте есть модальное окно регистрации с полями и кнопкой зарегистрироваться
. При нажатии на кнопку берутся значения из всех полей и отправляется ajax запрос на сервер, где происходит валидация. Если пользователь ввел неправильные данные то в блоке showRegError
отображается список что пользователь ввел неправильно, а снизу должна остаться форма. Если пользователь ввел правильные данные то в блоке showSuccess
должно отображаться сообщение об успешной регистрации но уже без формы. Код формы:
<div class="showRegError">
</div>
<div class="showSuccess">
<form class="form-horizontal regForm"> ... </form>
</div>
На данный момент получается выводить список ошибок в блоке showRegError
. Т.е. с помощью ajax запроса получаю ответ в виде html, но как мне определить что пришло, ошибка или успешная регистрация? :
success: function(html){
$('.showRegError').html(html).show();
}
Если есть ошибки, то просто вывести их в цикле(должно выводится в showRegError
):
for ($i = 0; $i<count($err); $i++)
{
echo $err[$i] . '<br>';
}
Если нет ошибок, то (в блок showSuccess
):
echo '<p>Регистрация прошла успешно!</p>';
Ошибки складываешь например в массив (если их нет, массив пустой):
$errorMessage['Ошибка 1', 'Ошибка 2']
Сообщение об успехе кладешь в массив (если их нет, массив пустой)
$successMessage['Все хорошо 1', 'Все хорошо 2']
Складываешь их в итоговый массив:
$returnJson['errors'] = $errorMessage;
$returnJson['success'] = $successMessage;
Преобразуешь в json и возвращаешь в Ajax
echo json_encode($returnJson, JSON_UNESCAPED_UNICODE);
В js:
$('#add').on('click', function(e) {
$.ajax({
url: '',
data: data,
type: 'post',
datatype: 'json',
success: function (html) {
html = JSON.parse(html);
if(html.errors)
{
$('.showRegError').html('');
i = 0;
for (i = 0; i < html.errors.length; i++) {
$('.showRegError').append('<li>' + html.errors[i] + '</li>');
}
}
else if(html.success)
{
$('.showSuccess').html('html.success');
}
},
})
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
В общем суть задачи, нужно выводить сообщение в будни дни с 18 вечера и до 9 утра и в любое время выходного дня
Хочу вывести записи в два блока list-group (если запись с id_user == 1 то в один блок вносить, а если id_user == 3 то в другой )Но они выводятся каждая запись...
Не работает логин в Yii2 - после каждого запроса создаётся новая сессия