Checkbox required не работает

Форма обратной связи с обязательным checkbox

Тема в разделе «PHP», создана пользователем Yulia***, 6 июл 2017 .

$iD Команда форума

по хорошему, нужно сделать проверку на стороне бэкэнда (кода, который обрабатывает вашу форму)

Yulia***

Спасибо за ответ. Но я к сожалению, на сайте вижу только то что я могу ставить галочку, могу и нет. Нет всплывающего сообщение как у вас на скрине.
Вот мой файл Php

try <
require ‘./phpmailer/PHPMailerAutoload.php’ ;

if (! count ( $addresses [ 0 ])) <
die( ‘MF001’ );
>

if ( preg_match ( ‘/^(127\.|192\.168\.)/’ , $_SERVER [ ‘REMOTE_ADDR’ ])) <
die( ‘MF002’ );
>

$template = file_get_contents ( ‘rd-mailform.tpl’ );

if (isset( $_POST [ ‘form-type’ ])) <
switch ( $_POST [ ‘form-type’ ]) <
case ‘contact’ :
$subject = ‘A message from your site visitor’ ;
break;
case ‘subscribe’ :
$subject = ‘Subscribe request’ ;
break;
case ‘order’ :
$subject = ‘Order request’ ;
break;
default:
$subject = ‘A message from your site visitor’ ;
break;
>
>else <
die( ‘MF004’ );
>

if (isset( $_POST [ ‘message’ ])) <
$template = str_replace (
array( » » , » » ),
array( «Message:» , $_POST [ ‘message’ ]),
$template );
>

$template = str_replace ( » » , $info , $template );
>
>

$template = str_replace (
array( » » , » » ),
array( $subject , $_SERVER [ ‘SERVER_NAME’ ]),
$template );

$mail = new PHPMailer ();
$mail -> From = $_POST [ ’email’ ];

if (isset( $_POST [ ‘name’ ])) <
$mail -> FromName = $_POST [ ‘name’ ];
>else <
$mail -> FromName = «Site Visitor» ;
>

foreach ( $addresses [ 0 ] as $key => $value ) <
$mail -> addAddress ( $value [ 0 ]);
>

$mail -> CharSet = ‘utf-8’ ;
$mail -> Subject = $subject ;
$mail -> MsgHTML ( $template );
$mail -> send ();

die( ‘MF000’ );
> catch ( phpmailerException $e ) <
die( ‘MF254’ );
> catch ( Exception $e ) <
die( ‘MF255’ );
>

$iD Команда форума

try <
if (!isset( $_POST [ ‘rules’ ])) <
die( ‘Вы должны принять правила сайта’ );
>

if (! count ( $addresses [ 0 ])) <
die( ‘MF001’ );
>

if ( preg_match ( ‘/^(127\.|192\.168\.)/’ , $_SERVER [ ‘REMOTE_ADDR’ ])) <
die( ‘MF002’ );
>

$template = file_get_contents ( ‘rd-mailform.tpl’ );

if (isset( $_POST [ ‘form-type’ ])) <
switch ( $_POST [ ‘form-type’ ]) <
case ‘contact’ :
$subject = ‘A message from your site visitor’ ;
break;
case ‘subscribe’ :
$subject = ‘Subscribe request’ ;
break;
case ‘order’ :
$subject = ‘Order request’ ;
break;
default:
$subject = ‘A message from your site visitor’ ;
break;
>
>else <
die( ‘MF004’ );
>

if (isset( $_POST [ ‘message’ ])) <
$template = str_replace (
array( » » , » » ),
array( «Message:» , $_POST [ ‘message’ ]),
$template );
>

$template = str_replace ( » » , $info , $template );
>
>

$template = str_replace (
array( » » , » » ),
array( $subject , $_SERVER [ ‘SERVER_NAME’ ]),
$template );

$mail = new PHPMailer ();
$mail -> From = $_POST [ ’email’ ];

if (isset( $_POST [ ‘name’ ])) <
$mail -> FromName = $_POST [ ‘name’ ];
>else <
$mail -> FromName = «Site Visitor» ;
>

Читайте также:  Телеграм бот не работает старт

foreach ( $addresses [ 0 ] as $key => $value ) <
$mail -> addAddress ( $value [ 0 ]);
>

$mail -> CharSet = ‘utf-8’ ;
$mail -> Subject = $subject ;
$mail -> MsgHTML ( $template );
$mail -> send ();

die( ‘MF000’ );
> catch ( phpmailerException $e ) <
die( ‘MF254’ );
> catch ( Exception $e ) <
die( ‘MF255’ );
>

Источник

Используете атрибут HTML5 «обязательный» для группы флажков?

При использовании более новых браузеров, поддерживающих HTML5 (например, FireFox 4);
и поле формы имеет атрибут required=’required’ ;
и поле формы пустое / пустое;
и кнопка отправки нажата;
браузеры обнаруживают, что поле «обязательное» пусто и не отправляют форму;
вместо этого браузер показывает подсказку с просьбой ввести текст в поле.

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

Как я могу использовать required атрибут HTML5 для этой группы флажков? (Поскольку необходимо установить только один из флажков, я не могу поставить required атрибут на каждый флажок)

пс. Я использую simple_form , если это имеет значение.

ОБНОВИТЬ

Может ли атрибут HTML 5 multiple быть полезным здесь? Кто-нибудь использовал это раньше, чтобы сделать что-то похожее на мой вопрос?

ОБНОВИТЬ

Это кажется , что эта функция не поддерживается HTML5 спецификации: проблемно-111: Что делает вход @ требуется среднее для @type = флажок.?

(Статус проблемы: проблема была помечена как закрытая без ущерба. ) И вот объяснение .

ОБНОВЛЕНИЕ 2

Это старый вопрос, но он хотел уточнить, что первоначальная цель этого вопроса состояла в том, чтобы иметь возможность сделать вышеупомянутое без использования Javascript — то есть с использованием способа HTML5. Оглядываясь назад, я должен был сделать «без Javascript» более абсурдным.

К сожалению, HTML5 не предоставляет готового способа сделать это.

Однако, используя jQuery, вы можете легко контролировать, если в группе флажков есть хотя бы один проверенный элемент.

Рассмотрим следующий фрагмент DOM:

Вы можете использовать это выражение:

который возвращает, true если хотя бы один элемент проверен. Исходя из этого, вы можете реализовать проверку.

Это простой трюк. Это код jQuery, который может использовать проверку html5, изменяя required свойства, если они установлены. Ниже приведен ваш HTML-код (убедитесь, что вы добавили необходимые для всех элементов в группе.)

Ниже приведен скрипт jQuery, который отключает дальнейшую проверку проверки, если какой-либо из них выбран. Выберите, используя элемент name.

Небольшое замечание: поскольку вы используете проверку html5, убедитесь, что вы выполнили ее до того, как она будет проверена, т.е. перед отправкой формы.

Я думаю, что нет стандартного HTML5-способа сделать это, но если вы не возражаете против использования библиотеки jQuery, я смог добиться проверки « группы флажков » с помощью функции проверки webshims « group-required »:

Если флажок имеет класс ‘group-required’, то по крайней мере один из флажков с тем же именем внутри формы / документа должен быть отмечен.

И вот пример того, как вы бы это использовали:

В основном я использую webshims, чтобы заполнить функции HTML5, но у него также есть несколько замечательных дополнительных расширений, подобных этому.

Это даже позволяет вам писать свои собственные правила валидации. Например, мне нужно было создать группу флажков, которая не была бы основана на имени входа, поэтому я написал для этого собственное правило валидности .

HTML5 напрямую не поддерживает необходимость установки только одного / хотя бы одного флажка в группе флажков. Вот мое решение с использованием Javascript:

Javascript будет гарантировать, что будет установлен хотя бы один флажок, а затем потребует всю группу флажков. Если один флажок, который отмечен, становится не отмеченным, то для него снова потребуются все флажки!

Читайте также:  Молокоотсос электронный авент не работает

У меня была такая же проблема, и я решил:

Вдохновленный ответами @thegauraw и @Brian Woodward, вот что я собрал для пользователей JQuery, включая пользовательское сообщение об ошибке проверки:

Обратите внимание, что в моей форме некоторые флажки установлены по умолчанию.

Может быть, некоторые из вас, JavaScript / JQuery, могли бы еще больше усилить это?

мы можем сделать это легко с html5, просто нужно добавить код jquery

HTML

Jquery

Я добавил невидимое радио в группу флажков. Если выбран хотя бы один параметр, радио также устанавливается на проверку. Когда все параметры отменены, радио также настроено на отмену. Поэтому в форме используется радио-подсказка «Пожалуйста, отметьте хотя бы один вариант»

  • Вы не можете использовать, display: none потому что радио не может быть сфокусировано.
  • Я делаю размер радио равным всему размеру флажков, чтобы он был более очевидным при запросе.

HTML

Javascript

CSS

Привет, просто используйте текстовое поле дополнительно к группе флажков. При нажатии на любой флажок введите значения в это текстовое поле. Сделайте так, чтобы это текстовое поле было обязательным и доступно только для чтения.

Я понимаю, что здесь есть масса решений, но я обнаружил, что ни одно из них не соответствует всем моим требованиям:

  • Не требуется пользовательское кодирование
  • Код работает при загрузке страницы
  • Не требуется пользовательских классов (флажки или их родитель)
  • Мне нужно было несколько списков флажков, чтобы поделиться одним и тем же name для отправки проблем Github через их API, и я использовал имя label[] для назначения ярлыков во многих полях формы (два списка флажков и несколько селекторов и текстовых полей) — при условии, что я мог бы добиться этого без их совместного использования то же имя, но я решил попробовать, и это сработало.

Единственное требование для этого — JQuery. Вы можете объединить это с отличным решением @ ewall для добавления пользовательских сообщений об ошибках валидации.

Вот еще один простой трюк с использованием Jquery!

HTML

JQuery

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

Источник

не работает чекбокс

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

Не правельно работает чекбокс
Привет, на сайте не правильно работает чекбокс, т.е. надо что бы когда стояла галочка доставка.

Не работает стилизованный чекбокс на wordpress
Здравствуйте дорогие форумчане, мне необходима помощь. Изменил стандартные чекбоксы на сайте (cms.

js — чекбокс
имеется форма //Внутри несколько таблиц, Число их генерируется.

чекбокс
Драсте, такая проблемка, есть у меня 3 едита,3 чекбокса и бутон, каждый чекбокс относится к своеиу.

Чекбокс
Доброго времени суток,у меня такая проблема я хочу сдеть так чтобы при нажатии на checkbox у меня.

чекбокс и БД
Подскажите код обычной отправке формы, в случае установки галочки ( чекбокс) возвращает на сервер.

Чекбокс
Помогите, пожалуйста, написать скрипт чекбокса(«Запомнить меня») Тоесть есть поля логин,пароль.

Событие в чекбокс
Private Sub CheckBoxHideAds_CheckStateChanged(sender As Object, e As EventArgs) Handles.

Групповой чекбокс
В списке групп и товаров в каждой строке имеется чекбокс (скриншот), позволяющий пометить эту.

Источник

Checkbox group: at least one checkbox required #201

Comments

Worst45 commented Sep 22, 2015

Hello,
I didn’t find how to use «required» attribute with checkbox array, if I want to select «at least one element»:
Choice 1
Choice 2

Читайте также:  Как настроить шрифты для автокада

If I specify «required» on each input, we have to check all checkbox to validate form. But is it possible to set form valid when at least one is checked?

The text was updated successfully, but these errors were encountered:

nelson6e65 commented Sep 22, 2015

For that, you should use radio instead.

Worst45 commented Sep 22, 2015

Thanks for your answer. But with radio group I can only select «one» element in the list, and not «at least» one element.

nelson6e65 commented Sep 22, 2015

Oh. I missed that point. 😅

jermeyjungbeker commented Nov 26, 2015

I would like this implemented as well otherwise this kinda makes checkbox validation impossible with this plugin in my opinion. (Ran into the same situation)

pikilon commented Dec 4, 2015

1000hz commented Dec 4, 2015

It’s probably not gonna happen for awhile. I’ve been too busy with work to focus on the validator. Sorry.

msiewert commented Mar 4, 2016

I had implemented a custom validator that did this. With the new version .10 I cannot get it to work anymore. Any chance you could take a peek?

whobeika commented May 23, 2016

+1 any updates on this issue? @msiewert do you mind sharing the custom validator you did ?

rvbz commented Jun 16, 2016 •

Hello guys, I managed to develop a custom validation for this issue, here is it:

Hope this can help you guys, let me know.

maximelebreton commented Jul 18, 2016

+1
no working solution since 0.10.2 .
same discussion here: #96

Taewa commented Aug 3, 2016

Hello.
I tried to use @rvbz ‘s way, however, I realised that it requires specific bootstrap-validator version which I don’t want.

So I end up with this function.
Here is the jsFiddle link

You can choose a number of minimum requirement (by default, at least 1. In this example at least 2)
I applied @1000hz and @rvbz ‘s code. Thanks!

nelson6e65 commented Aug 4, 2016

I made a custom validator for this, but I’ll test @Taewa and @rvbz solutions. Thanks!

cnaught commented Aug 11, 2016

Did anyone ever get a current solution for this to work with the bootstrap validator? I’m going to resort to old school javascript validation with alert window for now, until someone can come up with a solution to work with this plugin. The other option would be to use parsley.js, but I already have all of my code written for this validator.

rikbamo commented Aug 30, 2016 •

Created a bit of a workaround below.
It’s contained within a function so that the function can be called on page load if any checkboxes are pre-populated

jonw100 commented Feb 9, 2017

rvbz’s solution was the one that at last gave me successful checkbox group validation.
Many thanks @rvbz

rogoit commented Feb 15, 2017

You can use one hidden checkbox like

and in js
let $allCheckCount = jQuery(‘#boxSet’).find(‘input[type=»checkbox»]:checked’).not(‘#validateBox’).length
.
.
.
if($allCheckCount == 0) < jQuery('#validateBox').prop('checked', false); >else

VirtualBoost commented May 5, 2017

I have tried to use some of the solutions from this form but without luck. I’ve been trying to get this functionality to work since I would like to use the latest version of the Bootstrap Validator (0.11.9). Does anyone have any other solutions to this problem?

Источник

Оцените статью