Как сделать тег Zend_Form_Element_Hidden неизменным? - PullRequest
0 голосов
/ 03 сентября 2010

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

Существует ли валидатор или параметр в скрытом элементе, который требовал бы, чтобы значение отправленной формы было таким же, как при визуализации формы?

Я не думаю, что setIgnore(true) соответствует моей ситуации, так как мне нужен Zend_Form, чтобы прочитать эту переменную при обработке формы.

Также, насколько я знаю, setAttrib('readonly', true) также не будет работать, так как это всего лишь параметр HTML, который может быть легко изменен клиентом.

1 Ответ

1 голос
/ 03 сентября 2010

Вы не можете полагаться на какие-либо данные, отправленные пользователем обратно. Даже если бы существовал какой-то волшебный способ управления формой, кто-то мог бы подделать POST-запрос к вашему URL-адресу отправки с другим значением для этого поля, если он этого хочет. Лучше всего вместо этого сохранить значение в сеансе или, по крайней мере, сохранить значение в сеансе и сравнить его с представленным значением скрытого поля.

...