Проверка обязательных полей в магазине

#
Проверка обязательных полей в магазине
А можно ли пример проверки заполнения обязательных полей в интернет-магазине.
Желательно конечно корректно и красиво, как было в 5ой версии через ТДН, а не через "инородный" JS в шаблоне
Удивлен, почему никому не интересно. Проверка полей по умолчанию не работает в 6ой версии вообще?
Модератор
#
Re: Проверка обязательных полей в магазине
PSin писал(а):
Проверка полей по умолчанию не работает в 6ой версии вообще?

Проверка полей на что?
#
Re: Проверка обязательных полей в магазине
Хотя бы на "непустоту". Чтобы длина строк содержимого обязательных полей была > 1. Чтобы их хотя бы нельзя было оставить пустыми и пропустить.
#
Re: Проверка обязательных полей в магазине
Простите. я ошибся в верхнем сообщении. Я имел ввиду ТДС (типовую динамическую страницу).
#
Re: Проверка обязательных полей в магазине
Вот так было реализовано в 5ой версии:
Хотелось бы просто что-то подобное.

ТДС>>>Интернет-магазин>>>Интернет-магазин корзина:

/* Если отключен модуль пользователей сайта */
if (isset($_POST['step_1_1a']) && isset($_POST['step_1']))
{
   if (mb_strlen(to_str($_POST['site_users_name'])) < 1)
   {
      $message = 'Введите имя!';
   }
  
   if (mb_strlen(to_str($_POST['site_users_surname'])) < 1)
   {
      $message = 'Введите фамилию!';
   }
   if (mb_strlen(to_str($_POST['site_users_email'])) < 1
   || !valid_email(to_str($_POST['site_users_email'])))
   {
      $message = 'Введите e-mail!';
   }
  
}
Модератор
#
Re: Проверка обязательных полей в магазине
Мы делаем такие проверки на JS исходя из предположения, что кому надо, те и мусор вобьют, но защиту на длину пройдут.
Кроме того, многие не любят заполнять большие формы и мы не рекомендуем делать обязательные поля.
#
Re: Проверка обязательных полей в магазине
Можете отослать к какому нибудь примеру, пожалуйста?
Хотя бы проверка e-mail.

Я исхожу в данном случае из того, что пользователь может забыть или не посчитать нужным заполнить то поле, без которого не получится потом с ним связаться.
От ввода "мусора" застраховаться действительно сложно.
#
Re: Проверка обязательных полей в магазине
HostCMS писал(а):
Кроме того, многие не любят заполнять большие формы и мы не рекомендуем делать обязательные поля.

И тем не менее на демо-сайте вы такую проверку реализовали, в отличие от чистой установки
Согласитесь, что размер формы и проверка полей - вещи слабо связанные. Можно сделать форму из 1-ого поля, но какой в ней смысл, если это поле - необязательно?))
Как бы пользователи не любили заполнять формы - без этого все равно никуда. Поэтому проверка крайне важна.
А те, кто совсем не любят писать - позвонят или закажут через чат))
PSin писал(а):
Я исхожу в данном случае из того, что пользователь может забыть или не посчитать нужным заполнить то поле, без которого не получится потом с ним связаться.

Это на самом деле актуально! Сейчас как раз получили заказ без контактов, поскольку древний браузер клиента не обработал required="required".
В связи с чем присоединяюсь к просьбе PSin о примере с проверкой e-mail для корзины.

Порыскав в инете нашел способ, где надо присвоить АйДи форме, вставить label for и после формы вставить скрипт:
$("#FormId").validate({
  // параметры
});

Правда с необходимыми параметрами подзапутался маленько. Но хотя бы в том направлении ищу?) Или есть какой-н. более простой и качественный способ?
#
Re: Проверка обязательных полей в магазине
ironwayru, думаю validate jquery самый простой, form назначаете class="validate" и те поля которые нужно проверить делаете:
<input type="text" size="15" class="required" name="name" value="" title="Заполните Ваше Имя" minlength="2"/>

самом собой
<script type="text/javascript">
         $(document).ready(function() {
         $("#form").validate({
         focusInvalid: true,
         errorClass: "input_error"
         })
         });
      </script>
и
<script type="text/javascript" src="jquery.validate.js"></script>
и css
/* Validate */
.validate label.input_error { display:block; line-height:1.8; vertical-align:top; color: red; font-style: italic; }
.validate input.input_error { border: 1px dashed #DB1905; background-color: #FFFFD5; }
/* / Validate */

www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Проверка обязательных полей в магазине
alexpimnev, большое спасибо!
Вобщем, разобрался я с этим.

Опишу пару моментов из своего опыта - наверняка кому-н. пригодится

Для формы нужен не class, а id.
Скрипт составил такой для <input type="email" name="email"> (т. е. для input class тоже не обязателен)
<script>
         $( "#form" ).validate({
  rules: {
    email: {
      required: true,
      email: true
    }
  },
  messages: {
    email: {
      required: "<br />Нам необходим Ваш e-mail для отправки данных заказа",
      email: "<br />Email должен быть указан в виде anzr@qbznva.pbz"
    }
  }
         });
      </script>

Важно! Скрипт должен располагаться ПОСЛЕ формы! Я вот на это не обратил внимания и не сразу разобрался, почему ничего не работало.
Для CSS: сообщение об ошибке по умолчанию обернуто в <label class="error" for="email">.

id для input указал, но и без него прекрасно все работает. Так вот и не понял, на что он влияет)
Авторизация