помочь с оператором if - минимум 3 символа - PullRequest
1 голос
/ 22 января 2011

Поскольку для ввода нет minlength = "", как я могу сделать оператор if, который делает следующее:

Если пользователь не ввел более 3 символов, он не будет сохранен в базе данных.

Вот входные данные:

 QTY<input title="QUANTITY PER ITEM" size="1"  name="inputQTY" value="**(minimun of 3 characters)**"/>

есть идеи ??

Ответы [ 2 ]

2 голосов
/ 22 января 2011

Примечание: не имеет значения, есть ли ограничение на минимальное значение в поле ввода или нет;пользователь все еще может подделать форму, чтобы она содержала любое значение, которое он или она хочет.Таким образом, вам нужно проверить на стороне сервера.

Допустим, вы используете PHP в качестве языка сервера.

$inputQTY = $_POST['inputQTY'];
if (strlen($inputQTY) < 3) {
   // DO NOT INSERT INTO DB
}
else {
   // insert after further scrubbing input
}

Прочитайте это: Какой самый лучший метод для очистки ввода пользователя с помощью PHP?

0 голосов
/ 22 января 2011

Проверка формы - это процесс проверки того, заполнены ли поля формы в правильных форматах, если они являются процессами.В вашем вопросе правильный формат "более 3 символов".Конечно, если заявления участвуют во время проверки формы.На стороне клиента вы используете код JavaScript для проверки полей формы.

Вот как это работает: форма имеет обработчик события onsubmit, когда пользователь нажимает кнопку Отправить или нажимает Enter, onsubmitбудет срабатывать.onsubmit - это место, куда вы помещаете код проверки формы.

<script>
function onsubmit() {
  if (document.forms.mainForm.inputQTY.value.length < 3) {
    alert("ERROR: Must be more than 3 characters");
    return false; // stops the form submission
  }
  return true;
}
</script>

А вот как вы добавляете обработчик onsubmit

...

Функция onsubmit может возвращать значение: trueчтобы разрешить отправку формы, или false, чтобы остановить отправку.

Что такое document.forms.mainForm.inputQTY.value.length?document.forms.mainForm ссылается на форму name d mainForm, а .inputQTY находит поле inputQTY.Вы можете использовать document.getElementsByTagName для ручного поиска этих элементов, но для написания кода такого типа требуется [время и пространство].

Поскольку некоторые пользователи отключили JavaScript или взломщики намеренно отключили JS, чтобы обойти проверку, вы должны проверить на стороне сервера.

Код на стороне сервера будет выглядеть примерно так:

if (strlen($_GET['inputQTY']) < 3) {
  echo "ERROR: Must be more than 3 characters";
} else {
  // submit data
}

ПРИМЕЧАНИЕ: код, написанный из головы, не проверен

...