У меня есть очень простой вид, который я хочу, чтобы проверить, используя необходимый атрибут:setCustomValidity() всегда отображается, даже если форма правильно заполнена
<form name="form">
<label for="Header">Overskrift</label>
<input type="text" class="span5" name="Header" ng-model="Message.header" placeholder="Overskrift" oninvalid="this.setCustomValidity('Indtast overskrift')" required />
<label for="Body">Tekst</label>
<textarea name="Body" class="span5" ng-model="Message.body" rows="10" cols="20" placeholder="Besked" oninvalid="this.setCustomValidity('Indtast Tekst')" required />
<input type="submit" class="btn btn-primary" value="Send" ng-click="send()" />
</form>
но не имеет значения, как я заполнить форму первое поле всегда invalid и сообщение об ошибке показано, что я делаю неправильно?
Вы не должны использовать самозакрывающийся синтаксис '', если только ваша страница не предназначена для работы только в режиме XHTML, отправленного с типом содержимого XML. –
Что касается основной проблемы, это дубликат, хотя проблема здесь не полностью описана. Дело в том, что * после попытки отправки данных * с обнаруженной ошибкой поле имеет настраиваемый набор допустимости, и это можно изменить, установив его в '', а не посредством прямых действий пользователя. –
Возможный дубликат [HTML5: Почему мой атрибут oninvalid позволяет шаблону выйти из строя?] (Http://stackoverflow.com/questions/16867407/html5-why-does-my-oninvalid-attribute-let-the-pattern -потерпеть неудачу) –