В ZF2 возможно ли запрашивать текстовое поле только при выборе переключателя? как так ..Требуется только текстовое поле, если выбрано радио. ZF2
ответ
Нет, Существует никакого способа в ZF2 для этого, Вы можете использовать JQuery в JavaScript, чтобы добавить валидацию для этого:
Как это:
$('radio').click(function(){
if($(this).val() == 'other') {
$('textfield').prop('required',true);
}
});
Onclick
на любом переключателе события на стороне клиента и zf2 выполняется на стороне сервера. Поэтому вы не можете этого сделать, пока не отправляете данные на сервер.
Для этого вы можете использовать jQuery JavaScript javascript.
$(document).ready(function() {
$("#Radiobuttons").click(function() {
if($(this).attr('id') == "Other") {
//IF THE ID IS "OTHER"
$("#foo").show();
} else {
//IF THE ID IS NOT "OTHER"
$("#foo").hide();
}
});
});
Потому что только с этим, пользователь может отправить форму с текстовым полем пустым, и флажок галочкой, вы можете использовать этот скрипт.
//CHECK IF THE FORM IS SUBMITTED
if ($("#foo").css('display') != 'none'){
//The text box is visible. Now check if it's empty, with
//jQuery, PHP, or any other thing you use.
}
Спасибо, но я уже использую это. Но тогда можно отправить форму, когда радио выбрано, и текстовое поле пуст. И когда мне всегда требуется текстовое поле, я получаю ошибки, что он пуст, пока он скрыт. вы понимаете мое затруднительное положение? – Hees1989
@ user3481441 Я уверен, что вы можете проверить, скрыт ли элемент в jQuery. См. Мой отредактированный ответ. – FoxInFlame
Я знаю, что этот вопрос довольно старый, хотя, возможно, кто-то воспользуется им. Там есть способ сделать это.
В классе формы удалите метод вводаFilter из __construct. Тогда в вашем методе inputFilter (позволяет назвать его AddInputFilter) добавить В параметре, как это:
public function addInputFilter(array $data) {
$inputFilter = new InputFilter();
$this->setInputFilter($inputFilter)
//your inputfilters
if ($data['radiofield'] === 'something') {
//add next inputfilters
}
//your inputfilters
}
Затем перейдите к месту, где вы называете форму (контроллер, вероятно?):
$data = $this->request->getPost();
$form->setInputFilter($form->addInputFilter($data->toArray()));
$form->setData($data);
// next check if form is valid etc.
Вот и все.
- 1. Радио-кнопка требуется, если пользователь заполняет текстовое поле
- 2. Выбрано текстовое поле, когда выпадающее поле выбрано
- 3. Angularjs: текстовое поле требуется только от переключателя.
- 4. Обновить скрыть поле, только если выбрано «закрыть»
- 5. сделать текстовое поле требуется только если флажок снят
- 6. Radiobutton, если выбрано шоу div и требуется
- 7. ASP.NET - требуется текстовое поле, если флажок установлен.
- 8. Входной файл требуется, если текстовое поле заполнено
- 9. Включить текстовое поле, только если выбрана радиокнопка
- 10. Текстовое поле Hover Hover остается фиксированным, если выбрано
- 11. текстовое поле привязки данных не обновляется, если не выбрано
- 12. Показать ДИВ, если значение радио выбрано
- 13. HTML-форма: требуется другой вход ТОЛЬКО, если выбрано другое.
- 14. Как сделать радио-кнопку проверять текстовое поле?
- 15. фокус текстовое поле только если значение пустое
- 16. Показывать только текстовое поле, если присутствует @search
- 17. Запуск кода, только если текстовое поле редактируется
- 18. Подтвердить текстовое поле, только если отображение: блок
- 19. C# Проверка, если текстовое поле == текстовое поле
- 20. Как узнать, какое текстовое поле выбрано?
- 21. Примечание: Неопределенный индекс Радио и текстовое поле
- 22. проверить только текстовое поле
- 23. Текстовое поле переопределяет кнопку радио в MySQL
- 24. Значение копирования кнопки радио в текстовое поле
- 25. Как сделать второе текстовое поле обязательным только в том случае, если заполнено первое текстовое поле
- 26. Как отобразить текстовое поле «другое» выбрано в поле со списком?
- 27. Поле для проверки Woocommerce требуется, только если видимо
- 28. Проверьте, если текстовое поле имеет значение, чем другое текстовое поле требуется
- 29. В угловом поле требуется поле, только если оно не отключено
- 30. Javascript - только текстовое поле
Спасибо, попробуем это! – Hees1989