Проверка на стороне сервера / на стороне клиента или обоих пользователей - PullRequest
2 голосов
/ 12 мая 2009

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

Ответы [ 4 ]

7 голосов
/ 12 мая 2009

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

Кстати, элементы проверки ASP.NET выполняют оба действия.

1 голос
/ 12 мая 2009

Лучшее гибридное решение, как правило, состоит в том, чтобы централизовать серверную проверку и полагаться на клиентские вызовы на стороне сервера. Это имеет ряд преимуществ:

  • Вы будете писать код проверки только один раз на сервере.
  • Проверка на стороне клиента может быть обойдена, но это не имеет значения; сервер все равно проверяет.
  • Вы получаете улучшенный пользовательский опыт без каких-либо дополнительных затрат на разработку.

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

0 голосов
/ 12 мая 2009

Лучшим способом было бы использовать элементы управления проверкой ASP.NET для представления простых «подсказок» в качестве клиента (как упомянул Mehrdad, они обеспечат проверку на стороне клиента и на сервере), а затем использовать CustomValidators для элементов, которым требуется сервер взаимодействия, такие как проверка имен пользователей и т. д.

0 голосов
/ 12 мая 2009

Вы не можете быть уверены, что что-то вроде проверки на стороне клиента действительно произошло. Если javascript недоступен на стороне клиента (без сценария или отключенный JavaScript), он никогда не запускается. При отправке назад перед дальнейшей обработкой вы должны вызвать метод validate на странице, используя следующий код:

if(!IsValid)
{
    //inform your user about error(s)
    return;
}

//do further processing

если у вас есть группы проверки, вы можете вызвать метод validate с именем группы:

if!(Validate("groupName"))
{
    //inform your user about error(s)
    return;
}

//do further processing

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