Sveltejs Academy · Урок

Обработка ошибок проверки в действиях

Возвращайте ошибки проверки и повторно заполняйте поля формы с помощью fail() и ActionData

Урок 4 из 413 шагов

«Обработка ошибок проверки в действиях» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.

Вспомогательная функция fail

Используйте fail(), чтобы вернуть ошибки проверки с состоянием, отличным от 2xx, не выбрасывая исключение.

import { fail } from "@sveltejs/kit";
if (!email) return fail(400, { email, missing: true });

Код состояния

Первый аргумент — это состояние HTTP (обычно 400 для проверки данных).

Данные ошибки

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

Чтение на странице

Страница получает свойство form с результатом действия.

<script>
  export let form;
</script>
{#if form?.missing}<p>Please enter an email.</p>{/if}

Повторное заполнение полей

Передайте отправленное значение обратно через fail и предварительно заполните поля, чтобы пользователю не пришлось вводить их снова.

<input name="email" value={form?.email ?? ""} />

Ошибки отдельных полей

Используйте отдельный ключ ошибки для каждого поля, чтобы получить более точный интерфейс.

return fail(400, { errors: { email: "Invalid" } });

Сочетание с проверкой по схеме

Используйте на сервере библиотеки, такие как Zod или Valibot, для типобезопасного разбора данных.

Не выбрасывайте ошибки при проверке

Выбрасывание ошибки приводит к странице ошибок, а fail оставляет пользователя на странице формы.

Сброс формы после успеха

После успешного выполнения очистите состояние формы, вернув пустые значения или выполнив перенаправление.

Использование с use:enhance

Свойство form обновляется без перезагрузки благодаря enhance.

Доступность

Объявляйте об ошибках с помощью aria-live, чтобы программы чтения с экрана озвучивали их.

Быстрая проверка

Что возвращает fail()?

Повторение

Используйте fail() для ошибок проверки. Страница читает их из свойства form и показывает понятное сообщение.

Можно начать бесплатно

Изучай HTML с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
41
Уроки
163

Часто задаваемые вопросы

Урок «Обработка ошибок проверки в действиях» бесплатный?

Да — полный текст урока «Обработка ошибок проверки в действиях» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.

Чему я научусь в уроке «Обработка ошибок проверки в действиях»?

Возвращайте ошибки проверки и повторно заполняйте поля формы с помощью fail() и ActionData Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Sveltejs Academy?

Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Обработка ошибок проверки в действиях»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Sveltejs Academy?

Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. +page.server.js с действиями
  2. Директива use:enhance
  3. Постепенное улучшение форм
  4. Обработка ошибок проверки в действиях
← Назад к Sveltejs Academy