@aheles

Js, jquery как сделать prepend блока с переменной внутри значения?

Есть валидация форма через js, и при ошибке в верстку добавляется ошибка
Сама проверка такая:
//проверка фамилии
    if (onlyDigits(last_name.val()) || last_name.val() == "") {
        console.log('ошибка фамилии');
        return false;
    } else {
        return true;
    }

переменная last_name - это переменная с input, и при ошибке валидации нужно вывести ошибку. Т.к полей в форме много, сделал массив ошибок
//массив ошибок
    arrErrors = {
        "last_name": "Укажите корректную фамилию",
        "name": "Укажите корректное имя",
        "second_name": "Укажите корректное отчество",
        "email": "Укажите корретный email",
]

Как теперь добавлять через prepend() переменную с текстом ошибки + название ошибки из массива? по типу:
last_name.prepend(Ошибка. arrErrors.last_name)
Но если в каждой валидации писать полностью так, то будет слишком громадно. Как вынести текст ошибки в другую функцию? по типу чтобы было:
last_name.prepend(arrErrors.last_name);
и выведится следующее: Ошибка. Укажите корректную фамилию
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
например так:
function showError(field, error) {
  field.prepend(`<pre>Ошибка: ${error}</pre>`);
}

    if (onlyDigits(last_name.val()) || last_name.val() == "") {
        console.log('ошибка фамилии');
        showError(last_name, allErrors.last_name);
        return false;
    } else {
        return true;
    }


Хинт: можно воспользоваться встроенной в браузер валидацией:

То есть для проверки "хотя-бы одна буква" достаточно такой конструкции
<input name="last_name" required pattern="[А-ЯЁа-яё]+">


Можно установить и свое сообщение об ошибке
field.setCustomValidity("Минимум одна буква");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы