Опубликован: 04.11.2006 | Уровень: специалист | Доступ: платный
Урок 13:

Проверка и форматирование данных

Обработка ошибок

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

Обычно обработка ошибки включается непосредственно в условный оператор внутри процедуры проверки. Вот, например:

if (dataValid) {
  // выполнить действия
} else {
  // выполнить действие, сообщающее об ошибке
}

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

В этом упражнении мы с вами "заложим фундамент" для обработки ошибок в нашем проекте.

  1. Откройте файл validate1.fla из папки Lesson13/Assets.

Этот проект состоит из двух сцен: Registration и Confirm. Сценой Confirm мы займемся в следующем упражнении, а сейчас сосредоточимся на сцене Registration, которая содержит форму для заполнения пользователем – введенные в нее данные нужно будет проверять. Эта сцена состоит из четырех слоев, названных в соответствии с их содержимым. Слой Background содержит общее графическое оформление сцены, за исключением кнопок, которые находятся в слое Buttons. Слой Text Fields содержит пять текстовых полей. Четыре из них расположены поверх рисованных прямоугольников, показывающих области для ввода. Эти поля называются (сверху вниз) name, email, state и zip. Как вы уже поняли, эти поля относятся к типу Input Text – в них пользователь будет вводить информацию. Справа от этих текстовых полей находится более крупное текстовое поле; оно имеет имя errorLog. Это многострочное динамич еское текстовое поле; в нем будут отображаться ошибки, обнаруженные в процессе проверки. Если вы откроете инспектор Параметры, то сможете увидеть, что для этого поля включена опция HTML. Тем самым мы дали Flash указание интерпретировать текст, передаваемый в это поле, как код HTML, а не выводить все подряд.


  1. Откройте панель Действия, выделите кадр 1 слоя Actions и введите такой скрипт:
stop ();
errors = new Array();

Первое действие останавливает воспроизведение фильма на кадре 1 до получения дальнейших инструкций.

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

  1. В конец текущего скрипта добавьте описание функции:
function clearForm() {
  name.text = "";
  email.text = "";
  state.text = "";
  zip.text = "";
  errorLog.text = "";
  errors.length = 0;
}

При вызове этой функции значения элементов сцены – текстовых полей для ввода и поля errorLog – будут сбрасываться в изначальное состояние. Также будут удалены из массива errors все имеющиеся сообщения об ошибках.

  1. Выделите кнопку Clear в нижней части экрана и введите в панели Действия такой скрипт:
on (release) {
  clearForm();
}

Этот скрипт при нажатии кнопки Clear будет вызывать функцию clearForm(), которую мы только что описали.

  1. Сохраните файл как validate2.fla.

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

Салтанат Бектегенова
Салтанат Бектегенова

Дострочное пересдача экзамена

 

Евгений Стародубцев
Евгений Стародубцев

Вот задание:

7. Открыв панель Действия (Actions) и установив ее в Экспертный режим(Expert Mode), выделите кадр 1 слоя Actions и введите следующий скрипт:

Евгения Дегтяренко
Евгения Дегтяренко
Украина, Запорожье
Анна Елисеева
Анна Елисеева
Россия, Великий Новгород, Ногородский государственный университет имени Ярослава Мудрого, 2003