Jump to content
  • 0

проверка ввода данных


Alex_Mak
 Share

Question

ребят, объясните, плз, следующее:

мне нужно написать скрипт, проверяющий, что пользователь ввел в форму.

наверника, есть манул какой-нибудь или, возможно, тема уже подымалась на форуме, тогда меня можно послать на определенную ссылку :rolleyes:

на данном этапе интресует такая фишка:

использую alert(). например, если юзер не ввел данные в поле, то вывожу "введите данные" и т.п. столкнулась с двумя проблемами:

1. регулярные выражения в JS (а может, можно вставлять куски пхп, ведь там рег выр -- штука простая, как 2 пальца)

2.

<input type="submit" value="Submit" onclick="m_alert()">

если юзер что-то не ввел, что алерт сообщение кидает, но как только нажимаешь "ок" -- сабмит сразу загружает свою страничку.

поэтому была бы признательна, если бы мне объяснили наилучший механизм написания такого рода скриптов.

так же интересно было бы почитать про скрипты (как бы это описать?) в общем, видели наверняка не раз, при регистрации (даже на этом форуме по-моему тоже есть) если правильно заполняешь поле, то оно подсвечивается, например, зеленым, а если неправильно -- красным.

заранее спасибо :(

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0
поэтому была бы признательна, если бы мне объяснили наилучший механизм написания такого рода скриптов.

так же интересно было бы почитать про скрипты (как бы это описать?) в общем, видели наверняка не раз, при регистрации (даже на этом форуме по-моему тоже есть) если правильно заполняешь поле, то оно подсвечивается, например, зеленым, а если неправильно -- красным.

У меня есть пример такого валидатора, но, Влад пока не сделал то, что я его просил.

Link to comment
Share on other sites

  • 0

по простому если..

<script type="text/javascript"> 
function check(){
inp = document.getElementById('inp'); // обращаемся к елементу страницы по ID
if((!/^\d+$/.test(inp.value))){ // проверяем поле по регулярному выражению, разрешаем ввод только цифр - \d
//alert('буквы низя!');
inp.style.borderColor = 'red'; // краснеем
return false;
} else {
inp.style.borderColor = 'green'; // зеленеем
return true;
}
}
</script>

<form method="post" onsubmit="return false;">
<input type="text" id="inp" name="inpname" onkeyup="check();">
<input type="button" value="ok">
</form>

Link to comment
Share on other sites

  • 0
Тупо, скучно, не интересно и банально небезопасно. Все верификации формы следует отправлять и проверять через ajax, на стороне сервера ^^

Я тоже пришел к аналогичному мнению года два назад. Зачем проверять на стороне клиента, если сервер потом все равно будет повторно перепроверять введенное?

Link to comment
Share on other sites

  • 0

Чтобы дать пользователю возможность исправить ошибку, допущенную по невнимательности, до того как форма будет отправлена.

Это, на мой взгляд, - признак хорошего интерфейса, хотя для надежной работы приложения, разумеется, достаточно серверной валидации.

Link to comment
Share on other sites

  • 0
Чтобы дать пользователю возможность исправить ошибку, допущенную по невнимательности, до того как форма будет отправлена.

Это, на мой взгляд, - признак хорошего интерфейса, хотя для надежной работы приложения, разумеется, достаточно серверной валидации.

Для этого и нужен AJAX. он без перезагрузки страницы выявит ошибки и ответит пользователю. и это безопасно. при этом нет необходимости следить за куками или еще как извращаться. так что лучший метод

Link to comment
Share on other sites

  • 0
Лишь бы без перезагрузки, остальное пользователю безразлично.

не говори так. если мы что-то программируем то следует заботиться не только о том чтобы "пользователь видит картинку, пользователь счастлив". Нас также должна волновать безопасность и скорость работы. Эти 3 аспекта и составляют основополагающую любого проекта.

Link to comment
Share on other sites

  • 0
Быстродействие подразумевается под хорошим интерфейсом, это необходимое требование :-)

Не во всех сферах. Есть ньюансы. Иногда скорость ответа или скорость работы интерфейса не критична.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy