2013-04-17 3 views
0

У меня проблема с жидкостью.Текстовое поле только с числами

Этот код:

<f:form.textfield class="wettersuchinput" maxlength="4" type="email" name="zip" value="{zip}" placeholder="PLZ für Lokalwetter eingeben"/> 

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

Может ли кто-нибудь помочь мне разрешить просто цифры в этом текстовом поле?

Я ищу решение без любезности.

Спасибо

ответ

0

Используйте атрибут pattern на поле ввода:

<f:form.textfield maxlength="4" name="zip" value="{zip}" additionalAttributes="{pattern: '[0-9]{4}'}"/> 

позволяет только входы, состоящий ровно четыре цифры. Если ввод действителен или не может быть проверен псевдоклассами CSS :valid и :invalid.

Конечно, это не будет работать во всех браузерах (да, я смотрю на вас, IE), и это не поможет вам с безопасностью - злобный пользователь может легко обойти это. Используйте проверку на стороне сервера для обеспечения безопасности.

+0

Этот атрибут 'pattern' запускает исключение:' # 1237823695: Аргумент "pattern" не был зарегистрирован. ' – Memochipan

+0

Хорошо, это ошибка в ответе - вместо этого используйте' addAttributes': ' '. Ответ исправляется. – Jost

+0

Это не работает с TYPO3 8.X или я ошибаюсь? Не важно, использую ли я шаблон = "(\ d + (\. \ D {3}) *) (, (\ d {2})) {1}" или дополнительноAttributes = "{pattern: '(\ d + (\. \ d {3}) *) (, (\ d {2})) {1} '} ", TYPO3 удалит части:" {1} "," {2} "и" {3 } "из моего шаблона :(Кажется, cdata больше не поможет :(. Я нашел решение: скрыть фигурные скобки с помощью формата raw viewhelper, см. https://stackoverflow.com/questions/43425008/cdata-not -working-in-typo3-v8-fluid. – Fox