2012-02-16 4 views
1

Я экспериментирую с встроенными атрибутами проверки HTML5 и первой трудностью, с которой я столкнулся, является то, что атрибуты проверки работают в контексте формы. И.Е. если вы хотите проверить два независимых входа, вы должны поместить их в два разных тега <form>.Проверка HTML5 и веб-формы ASP.net

Как справиться с этой ситуацией с asp.net, где страница образована большой формой, содержащей весь контент?

+0

У меня также есть эта проблема. Я использую webforms с angularjs. У меня есть несколько форм на одной странице с независимой проверкой одновременно. Я этого не решил, но вижу два решения. 1. Перейдите в ASP.NET MVC или .. 2 Пропустите html атрибуты проверки и создайте мои собственные атрибуты с директивами внутри angularjs. Я вернусь к вам, когда закончите ... –

ответ

1

Думаю, у вас есть недоразумение.

HTML 5 имеет как атрибуты проверки form, так и input. Атрибуты form просто позволяют вам включать/выключать автозаполнение и полностью отключать проверку всех элементов input.

Элементы input, где выполняется настоящая работа. Обратите внимание, что вы можете включить автозаполнение на уровне form, но отключить его для определенного inputs.

BTW, с вложенными <form> тегами все еще нет нет под HTML5. Это просто, что различные браузеры поддерживают его, чтобы продолжать быть совместимым с подавляющим большинством сайтов, которые были неправильно закодированы. На самом деле, эта концепция, как можно более совместимая, является главной причиной того, что браузеры настолько сложны.

Подробнее: http://www.w3schools.com/html5/html5_form_attributes.asp

+0

«Имея несколько меток

, все еще нет нет под HTML5»? Разве вы не говорите о нескольких NESTED формах-тегах? –

+0

@HeNrik: Да, это был бы лучший способ заявить об этом. – NotMe

0

Предупреждение: Следующее решение не красиво, я знаю. Но это единственное решение, о котором я могу думать. :/

Создайте тег формы рядом с созданным сервером тегом формы. Поместите форму на стороне клиента вверху страницы.

Недостаток: вы не можете использовать теги сервера. Но эй ... кто сейчас делает? :)

<form runat="server" ...> 
    ... Everything .... 
</form> 
<div class="positionedOnTopOfThePage"> 
    <form> 
     ... Form with HTML5 validation ... 
    </form> 
    <form> 
     ... Form with HTML5 validation ... 
    </form> 
</div>