[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка полей форм
Sergen
Немного осваиваюсь в js
Взял за основу чужой скрипт проверки полей

function validate(form) {
fail = validateForename(form.name.value)
fail += validateSurname(form.title.value)
fail += validateUsername(form.alias.value)
if (fail == "") return true
else
{ alert(fail); return false }
}

function validateName(field) {
if (field =="") return "Не было введено Названиe.\n";
return "";
}
function validateTitle(field) {
if (field =="") return "Не был введен title.\n";
return "";
}
function validateAlias(field) {
if (field =="") return "Не был введен alias.\n";
else if (/[a-z0-9_-]+$/.match(field))
return "Фигня какая-то.\n";
return "";
}

Но он проверяет так. Если не заполнено третье поле, то срабатывает
Если например первое. То нет.
Поскольку нет ни isset или empty как в php
немного доработал, но чего-то не так...

if(isset(validateTitle(form.title.value)))
{
if(isset(fail)) fail+= validateTitle(form.title.value);
else fail = validateTitle(form.title.value);
}

function isset(item)
{
return typeof item != 'undefined';
}


Подскажите пожалуйста, как можно заменить, подменить empty или аналогичное что-то?



Спустя 9 минут, 27 секунд (19.06.2012 - 14:28) killer8080 написал(а):
Цитата (Sergen @ 19.06.2012 - 14:18)
fail += validateUsername(form.alias.value)

Цитата (Sergen @ 19.06.2012 - 14:18)
function validateAlias(field) {

нестыковочка в именах функций smile.gif

Спустя 1 час, 12 минут, 20 секунд (19.06.2012 - 15:40) bodja написал(а):
Цитата
Подскажите пожалуйста, как можно заменить, подменить empty или аналогичное что-то?


if(field) { и пошел,пошел,пошел...} wink.gif

Спустя 6 часов, 27 минут, 34 секунды (19.06.2012 - 22:07) Sergen написал(а):
Цитата (killer8080 @ 19.06.2012 - 11:28)
Цитата (Sergen @ 19.06.2012 - 14:18)
fail += validateUsername(form.alias.value)

Цитата (Sergen @ 19.06.2012 - 14:18)
function validateAlias(field) {

нестыковочка в именах функций smile.gif

Да блин после кучи эксперементов, скопировал "не ту" версию

Спустя 22 минуты, 16 секунд (19.06.2012 - 22:30) Sergen написал(а):
Цитата (bodja @ 19.06.2012 - 12:40)
Цитата
Подскажите пожалуйста, как можно заменить, подменить empty или аналогичное что-то?


if(field) { и пошел,пошел,пошел...} wink.gif

Чего то, я не понял Вас... Или я неправильно поставил вопрос. Нужно проверка не на существование переменной а проверка на пустоту.

Спустя 11 часов, 39 минут, 10 секунд (20.06.2012 - 10:09) varvar написал(а):
ты напиши внятно, как ты предполагаешь чтоб скрипт работал, если исправить имена функций (которые у тебя неправильно написаны в примере выше), то скрипт там полностью работоспособный... возвращает false и alert если хотя бы одно поле не заполнено, или true, если все поля заполнены

Спустя 4 минуты, 14 секунд (20.06.2012 - 10:13) Sergen написал(а):
С утра посидел, переделал
Накидал такое

<script>
function validate(form)
{
fail ='';
if(!empty(validateName(form.name.value)))
fail = validateName(form.name.value);

else if(!empty(validateTitle(form.title.value)))
{
if(!empty(fail)) fail+= validateTitle(form.title.value);
else fail = validateTitle(form.title.value);
}

else if(!empty(validateAlias(form.alias.value)))
{
if(!empty(fail)) fail+= validateAlias(form.alias.value);
else fail = validateTitle(form.alias.value);
}

if (empty(fail)) return true;
else { alert(fail); return false }
}

function validateName(field)
{
if (empty(field)) return "Не было введено Названиe.\n";
return '';
}
function validateTitle(field)
{
if (empty(field)) return "Не был введен title.\n";
return '';
}
function validateAlias(field)
{
if (empty(field)) return "Не был введен alias.\n";
return '';
}
function empty($a)
{
if($a=='')
return true;
}
</script>

Вроде теперь три поля name, title, alias проверяются по отдельности. Только если почему-то если не заполнен alias пишет не заполнен title... Проверил 10 раз, все правильно у меня написано...В чем ошибка?

Спустя 17 минут, 31 секунда (20.06.2012 - 10:31) varvar написал(а):
Цитата

else if(!empty(validateAlias(form.alias.value)))
{
    if(!empty(fail))  fail+= validateAlias(form.alias.value);
    else fail = validateTitle(form.alias.value);
}

Спустя 17 минут, 4 секунды (20.06.2012 - 10:48) Sergen написал(а):
Цитата (varvar @ 20.06.2012 - 07:31)
Цитата

else if(!empty(validateAlias(form.alias.value)))
{
    if(!empty(fail))  fail+= validateAlias(form.alias.value);
    else fail = validateTitle(form.alias.value);
}

Спасибо! biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.