2014-09-16 2 views
1

У меня есть приложение Polymer, и я хочу проверить, соответствуют ли заданные входы NOT EMPTY при отправке формы. У меня есть некоторые входы, установленные на required, но у меня нет способа проверить, являются ли эти поля NOT EMPTY. Я могу только проверить, соответствует ли заданный шаблон, установив атрибут invalid, но даже для шаблона required.*.Проверка формы в Polymer

Возможно ли какое-либо ожидание? Или это в бета-версии, и эта функция еще не реализована?

ответ

0

Polymer.dart < = 0.16.x

Вы можете установить шаблон самостоятельно

<paper-input floatinglabel 
    label="Some label" 
    value='{{someValue}}' 
    pattern="^.+$" 
    error="Input required"> 
</paper-input> 

Или увидеть Taking total control of PaperInput validation для полного контроля проверки.

+0

Ваше решение не работает. Вероятно, вы подумали о атрибуте 'pattern', а не' validate'. Не существует такого атрибута, как 'validate'. Тем не менее, даже если я использовал атрибут 'pattern', установленный на' ^. + $ ', Мне все равно нужно что-то написать в поле и удалить контент для проверки. Проверка не работает, когда вы получаете атрибут 'invalid'. Там должен быть какой-то метод вроде 'valid()', который должен проверять соответствие содержимого шаблону. И если атрибут 'required' должен также сначала проверяться, если поле было заполнено. – Jagi

+0

Вы правы, это должен быть атрибут' pattern'. Я не уверен, что вы подразумеваете под остальным комментарием 'validateImmediately' по умолчанию является true, который должен вызывать проверку без ввода поля. В противном случае см. Вопрос/ответ, связанный в моем ответе. –

+0

Все еще не работает даже с атрибутом 'validateImmediately'. Позвольте мне описать мою проблему более подробно. У меня такой HTML-код ''. Теперь, когда я вызываю такую ​​строку кода из консоли 'document.getElementsByTagName ('paper-input') [0] .invalid' Я получаю' false', что не так. Я должен получить 'true', потому что поле пустое. Если я заполнил поле и удалю этот контент и снова запустил эту строку кода, он вернет «true». Кажется, это ошибка Полимера. – Jagi