В форме с тремя флажками мне нужно подтвердить, что хотя бы один из них был отмечен.Компания, в которой я работаю, использует jQuery Validation Engine .Я тестирую с последней версией / выпуском.
В соответствии с требованиями библиотеки мой код должен выглядеть следующим образом:
<input type="checkbox" name="agreement" value="1" id="agreement_0" class="validate[minCheckbox[1]] checkbox">
<input type="checkbox" name="agreement" value="1" id="agreement_1" class="validate[minCheckbox[1]] checkbox">
<input type="checkbox" name="agreement" value="1" id="agreement_2" class="validate[minCheckbox[1]] checkbox">
Если я иду таким образом, проверка действительно работает, и требуется хотя бы один из них, однако мой $_POST
содержит толькопоследний из них, я полагаю, потому что они имеют одно и то же имя (что я считаю неправильным).Вот документы для minCheckbox .
Если я использую вместо этого следующий подход (который, насколько мне известно, правильный), то я в конечном итоге получаю ошибки Javascript:
<input type="checkbox" name="agreement[]" value="1" id="agreement_0" class="validate[minCheckbox[1]] checkbox">
<input type="checkbox" name="agreement[]" value="1" id="agreement_1" class="validate[minCheckbox[1]] checkbox">
<input type="checkbox" name="agreement[]" value="1" id="agreement_2" class="validate[minCheckbox[1]] checkbox">
Uncaught Error: Синтаксическая ошибка, нераспознанное выражение: input [имя = соглашение []]
Нижняя строка:
- При первом подходе проверка выполняетсяработать должным образом, но я получаю значение последнего ввода только после отправки формы.
- При втором подходе проверка завершается неудачно с ошибкой Javascript, но я должен получить все входные данные в массиве
agreement[]
.
Я что-то здесь упускаю?Как бы вы сделали эту проверку с помощью jQuery Validation Engine?
Примечание. При необходимости я могу предоставить более подробную информацию и не могу изменить библиотеку в данный момент.