2014-01-25 5 views
0

У нас есть веб-форма asp.net, разработанная на C#. Эта форма имеет около 100 полей и очень динамичная форма. Это динамично в том смысле, что при первом запуске вы видите только около 20 полей, но по мере того, как вы продолжаете делать различия в формах, панели, содержащие поля, отображаются или скрыты. Почти каждое поле проверяется на стороне клиента с помощью .net validators. Javascript используется для включения/выключения валидаторов в зависимости от того, является ли панель, в которой они находятся, является видимой или нет.asp.net Нужен совет по проектированию сложных форм и валидаторов

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

Итак, здесь мой вопрос дизайна.

  • Каков простой способ отладки валидаторов в этом случае? Как найти, какие действующие лица все еще существуют?
  • Вместо использования валидаторов asp.net, должен ли я просто перекодировать форму, и использовать JavaScript для проверки, по крайней мере, таким образом, это будет esier
    для отладки действующих сертификатов.
  • Любое рассмотрение дизайна? Поскольку эта форма является такой болью, мы не будем переделывать ее и делать это правильно.

Я думал, что если я создам одну функцию JavaScript, которая вызывается каждый раз, когда поле формы будет нажато или изменено, эта функция JavaScript будет вызываться и будет проверять все 100 полей формы. Если поле формы видимо, соответствующий валидатор включен, в противном случае отключен.

Что вы думаете о подходе?

Спасибо за ваше время и совет заранее.

+1

Форма со 100 полями звучит для меня проблематично. Возможно, попробуйте переместить некоторые поля в другую форму. Рассматривали ли вы использование мастера управления? – StevieB

+0

Когда вы перечитываете свой вопрос, я удивляюсь, почему люди так усложняют свою жизнь, сохраняя чистоту и чистоту, намного легче и лучше окупается. – pid

ответ

0

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

Есть причины не разделить форму (опросы от анонимных пользователей, например). Но если пользователи аутентифицируются и вынуждены заполнять формы (по законам или другим ограничениям реального мира), тогда у вас должно быть действительно 5 форм из 20 полей или около того.

Как только сложность будет ниже, вам будет легче подойти к этим другим проблемам.

Для ваших вопросов:

Я бы посоветовал использовать ASP.NET валидаторы. Они отклоняются в два мира: клиентская сторона для удобства использования (реактивность) и серверной стороны для обеспечения безопасности. Вам нелегко будет иметь такую ​​же легкость использования и согласованности без валидаторов ASP.NET.

Регулярное выражение НЕ ДОЛЖНО быть отлажено в валидаторе, но в отдельный момент (модульное тестирование или простой скрипт с множеством тестовых строк), а затем после этого сбрасывается с небольшим тестированием.

Об автоподстроке: почему? Старайтесь избегать этого или использовать AJAX.

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

Смежные вопросы