Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Убрать валидацию email

GiANI Знаток (267), на голосовании 1 год назад
Нужно убрать валидацию email из формы обратной связи.
В HTML код такой
 





placeholder="Email-адрес">



В PHP код такой
 / валидация email 
if (!empty($_POST['email'])) {
$data['form']['email'] = $_POST['email'];
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$data['result'] = 'error';
$data['errors']['email'] = 'Email не корректный.';
itc_log('Email не корректный.');
}
} else {
$data['result'] = 'error';
$data['errors']['email'] = 'Заполните это поле.';
itc_log('Не заполнено поле email.');
}
В js код такой
 // валидация формы 
_checkValidity() {
let valid = true;
// input, textarea
this._elForm.querySelectorAll('input, textarea').forEach(el => {
if (el.type === 'file') {
return;
}
if (el.checkValidity()) {
this._setStateValidaion(el, 'success');
} else {
this._setStateValidaion(el, 'error', el.validationMessage);
valid = false;
}
})
// attach
const elAttach = this._elForm.querySelector('.form-attach');
if (elAttach) {
elAttach.classList.remove('is-invalid');
elAttach.querySelector('.invalid-feedback').textContent = '';
const isRequired = elAttach.querySelector('[type="file"]').required;
if (isRequired && this._attach.items.length === 0) {
elAttach.classList.add('is-invalid');
elAttach.querySelector('.invalid-feedback').textContent = 'Заполните это поле.';
}
}
this._attach.items.forEach((item) => {
const elAttach = this._elForm.querySelector('.form-attach__item[data-index="' + item.index + '"]');
if (item.file.size > this._attach.maxFileSize * 1024) {
this._setStateValidaion(elAttach, 'error', `Размер файла больше ${this._attach.maxFileSize}Кб`);
valid = false;
} else if (!this.constructor._checkExt(item.file.name, this._attach.ext)) {
this._setStateValidaion(elAttach, 'error', 'Тип не является допустимым');
valid = false;
} else {
this._setStateValidaion(elAttach, 'success', '');
}
})
return valid;
}
Мне нужно убрать валидацию почты, чтобы можно было оставлять поле пустым. Как это сделать?
Голосование за лучший ответ
Лайт Ягами Искусственный Интеллект (309770) 1 год назад
Убрать блок else из PHP-кода, и атрибут required у HTML-элемента
GiANIЗнаток (267) 1 год назад
А можно как-то сделать так, чтобы можно было оставить пустым. Но если хоть что-то вписал, то тогда уже проходила валидация?
Лайт Ягами Искусственный Интеллект (309770) GiANI, да, такое поведение и будет, если убрать else в проверке if (!empty(...)), проверка будет срабатывать только в случае непустоты
GiANIЗнаток (267) 1 год назад
Все работает, спасибо!
EVK IT Сервис К Мыслитель (5226) 1 год назад
Убрать все это
 / валидация email  
if (!empty($_POST['email'])) {
$data['form']['email'] = $_POST['email'];
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$data['result'] = 'error';
$data['errors']['email'] = 'Email не корректный.';
itc_log('Email не корректный.');
}
} else {
$data['result'] = 'error';
$data['errors']['email'] = 'Заполните это поле.';
itc_log('Не заполнено поле email.');
}
Похожие вопросы