Проверка на стороне клиента не работает в браузере Android - PullRequest
1 голос
/ 10 февраля 2011

Возникли некоторые проблемы с проверкой на стороне клиента (с использованием RequiredFieldValidator, RegularExpressionValidator, CustomValidator с логикой проверки на стороне клиента).Кажется, что WebForm_DoPostBackWithOptions не запускается или вызывает необработанное исключение, которое заставляет форму выполнять обратную передачу независимо от того, допустимо она или нет.

Я пытался использовать ValidationSummary, скрывая его, если поддерживается javascript:

<script>
   $(document).ready(function() {
      $("#javascriptDisabled").hide();
   }
</script>
...
<div id="javascriptDisabled">
   <asp:ValidationSummary runat="server" ...>
</div>
...
<asp:Button runat="server" OnClick="SendMessage" ...>

Мой код .cs:

protected void SendMessage(object sender, EventArgs e)
{
   if(!Page.IsValid) return;
}

Все отлично работает в Chrome с отключенным JavaScript на моем ноутбуке, но не на моем телефоне Android.Проблема в том, что на телефоне Javascript не отключен, он включен и правильно скрывает ValidationSummary, но не выполняет проверку на стороне клиента по какой-то причине, которую я не могу понять (нет инструментов разработчика в браузере Android: ((). Этоочень расстраивает!: (

Кто-то может помочь?

Спасибо!

РЕДАКТИРОВАТЬ: Я нашел причину (но не решение, если таковое существует). Яиспользуя на моей странице элемент управления Telerik RadEditor, который, если клиент является браузером Android по умолчанию, неправильно отображает все необходимые встроенные сценарии, вызывая исключения javascript и (возможно) дезактивацию времени выполнения javascript браузером. Это приводит к клиентупроверка стороны больше не работает. Будет расследовать с Telerik, если есть решение этой проблемы.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2011

РЕДАКТИРОВАТЬ: Я нашел причину (но не решение, если оно существует). Я использую на своей странице элемент управления Telerik RadEditor, который, если клиент является браузером по умолчанию для Android, некорректно отображает все необходимые встроенные сценарии, вызывая исключения javascript и (возможно) дезактивацию времени выполнения javascript браузером. Это приводит к тому, что проверка на стороне клиента больше не работает. Будет расследовать с Telerik, если есть решение этой проблемы.

0 голосов
/ 11 февраля 2011

Попробуй с скрипачом. Когда я попытался, я должен настроить эмулятор для работы через прокси-сервер Fiddler. Делая это в моем приложении (я также помещаю данные в WS с аутентификацией .NET), это сработало.

Салудос, Оскар.

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