2014-05-28 3 views
2

Я создаю форму, клиент запросил диапазон «eventStart» и «eventStop», они также хотят, чтобы это было необходимо, и не хотите, чтобы кто-то мог вручную изменять значения.jquery datepicker - как сделать readonly и требуется?

Я использую jquery datePicker и jquery validate.

У меня есть работа так или иначе, но не для обоих.

<input class="inputs" type="text" id="eventStart" readonly/> 
<input class="inputs" type="text" id="eventStop" readonly/> 

Это прекрасно работает, диапазон работает, и его нельзя отредактировать вручную.

<input class="inputs" type="text" id="eventStart" required/> 
<input class="inputs" type="text" id="eventStop" required/> 

Это всплывающее окно «Пожалуйста, заполните это поле», но позволяет редактировать дату.

Если я ставлю и это позволяет пользователю пропустить поле (без проверки).

+2

Я предполагаю, что я не понимаю необходимости в требовании и читаю только на одном и том же объекте, зачем все это? –

+0

Проверка ввода данных гарантирует, что пользователь вводит правильные данные. Если это 'readonly', тогда нет необходимости в валидации ввода вообще. – Sparky

+0

Согласовано. Предполагая, что некоторый код JS предварительно заполняет datepicker, почему вы хотите добавить к нему подтверждение, если пользователь все равно не может его изменить? –

ответ

2

В этом случае, если вы добавите только для чтения и требуется, и он обходит проверки ваши варианты реализовать собственную проверку или зацепить form submit или действие onclick вашей кнопки отправки.

Другой вариант - использовать только требуемые. Затем подключите действие квитирования и остановите ввод текста.

$("#inputs").keydown(function (event) { 
    event.preventDefault(); 
}); 

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

+0

Опять же, в чем смысл? – Sparky

+0

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

+0

У ОП большие проблемы, поскольку он путает пузыри проверки HTML 5 с плагином jQuery Validation, который даже не работает. – Sparky

Смежные вопросы