Сторона сервера Проверки ASP.NET

У меня есть веб-форма ASP.NET, которая я хочу проверить Клиентскую и Серверную сторону, с помощью тех же средств управления проверкой. Я, может казаться, не нахожу решение для этого - клиентская проверка работает отлично, но когда я отключаю JavaScript - Это игнорирует проверку.

Справка очень ценилась бы.

Римлянин

6
задан Kibbee 21 June 2011 в 01:25
поделиться

5 ответов

Вы всегда можете вызвать валидацию методом validator1.Validate(), который проведет сравнение на стороне сервера. Проверьте Page.IsValid, чтобы убедиться, что проверка на стороне сервера не выполняется? Думаю, вы можете вызвать его через Page.Validate().

HTH

.
9
ответ дан 8 December 2019 в 03:09
поделиться

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

Смотрите примечание в этой статье сразу после рисунка 2:, где сказано:

Double-Checking Client-Side Validation

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

http://msdn.microsoft.com/en-us/library/aa479013.aspx

Однако, вы можете принудительно провести проверку на сервере, вызвав Page.Validate()

.
3
ответ дан 8 December 2019 в 03:09
поделиться

Явный вызов Page.Validate() на стороне сервера.

Или перегруженная Page.Validate(string) для одной из ваших групп проверки.

Обновление:

Я забыл, что после запуска Validate(...) проверьте свойство Page.IsValid - это вы должны остановить отправку страницы, если это свойство == false.

15
ответ дан 8 December 2019 в 03:09
поделиться

Roman,

Вы можете использовать пользовательский валидатор ASP.net для предоставления как клиента, так и сервера для валидации. Таким образом, если вы отключите js, вы все равно должны ударить по методу проверки сервера. В этом примере функция "ClientValidate" будет определена в блоке javascript на вашей странице, а функция "ServerValidate" будет существовать в вашем файле codebehind.

<asp:textbox id="textbox1" runat="server">
<asp:CustomValidator id="valCustom" runat="server"
    ControlToValidate="textbox1"
    ClientValidationFunction="ClientValidate"
    OnServerValidate="ServerValidate"
    ErrorMessage="*This box is not valid" dispaly="dynamic">*
</asp:CustomValidator>
3
ответ дан 8 December 2019 в 03:09
поделиться

Найден ответ! Ответ заключается в том, чтобы использовать Page.Validate(), а затем проверить Page.IsValid на корректность валидации. Только использование Page.Validate() не помогло - код продолжился и не остановился.

Спасибо ребята, Рим

0
ответ дан 8 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: