Альтернативная проверка двух наборов элементов управления с использованием одной кнопки отправки в ASP.NET - PullRequest
0 голосов
/ 01 сентября 2010

На странице ASP.NET я использую ту же форму для входа и регистрации.Есть два поля для входа и семь полей для регистрации.Примерно так:


txtUsername |txtPassword

txtNewUsername |txtNewPassword |txtNewPasswordRepeat |txtFirstName |txtLastName |txtPhone |txtEmail

btnSubmit


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

Теперь у меня вопрос, как проверить форму?Первоначально я подготовил настроенную систему проверки на стороне сервера, но клиент настаивает на использовании стандартных средств проверки asp.net (включая настраиваемый валидатор, если необходимо).

Чтобы проверить форму, сначала мне нужноопределить, выполняет ли клиент вход в систему или проверку, и только тогда я могу решить, проверять ли один набор полей или другой.Таким образом, первая операция состоит в том, чтобы увидеть, заполнил ли пользователь имя пользователя или newUsername, и использовать это, чтобы определить, происходит ли вход в систему или новая регистрация.Так как есть одна кнопка отправки, я не могу использовать группы проверки, чтобы различать два набора элементов управления.

Я думал об использовании специального средства проверки для всего этого, но он связан с одним элементом управления, поэтомуэто не решает проблему.Я также думал о создании нового элемента управления валидацией, но проблема опять та же: любой класс, унаследованный от WebControls.BaseValidator, подключен к одному элементу управления формой.

Учитывая вышеуказанные ограничения, что делать?Любые предложения приветствуются ...

1 Ответ

0 голосов
/ 01 сентября 2010

используйте событие кнопки onclientclick и измените группу проверки кнопки в javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...