Как заставить форму Umbraco с проверкой работать правильно?

Я не смог найти ни одного туториала, в котором бы правильно и полно объяснялось, как сделать форму с валидацией.

В частности, у меня есть следующая проблема - при передаче ошибок заполненный пользователем контент теряется.

Я использую Umbraco v7, но я думаю, что концепция одинакова с 8 и 9?!

Опция 1

Как правило, то, что люди делают в учебниках, это то, что есть 1 действие RenderForm(получить), а затем еще SubmitForm(почта). Из того, что я получаю, если проверка не удалась, вы должны позвонить CurrentUmbracoPage()чтобы в основном перезагрузить страницу и включить эти данные. Вот тут-то и возникает проблема: рендеринг выполняется через действие, которое обычно выглядит так:

       Html.RenderAction("RenderForm", "Contact", new ViewModel());

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

Вариант 2

Альтернативный способ работы с формами состоит в том, чтобы иметь только действие контроллера POST и загружать форму через партиал в:

      Html.RenderPartial("~/Views/Partials/Forms/_ContactUsForm.cshtml", new ViewModel());

что приводит нас к той же проблеме - ошибки отображаются, но ViewModelданные пустые.

Я пытался вызвать его без модели, но он выдает ошибку. Я ожидаю, что вы сможете подготовить модель, а затем просто использовать ее в .cshtmlили частичное .cshmtmlно я не смог узнать как.

По prepare modelЯ имею в виду, что мне нужно установить кучу переменных, предварительно заполнить информацию, установить раскрывающиеся списки и т. д., прежде чем я отобразлю форму. Это должно быть сделано в контроллере как-то, прежде чем я загружу как пустую форму, так и заполненную форму с ошибками.


Мое исследование:

В официальной документации нет упоминания об ошибках:https://our.umbraco.com/Documentation/Fundamentals/Code/Creating-Forms/index-v7 .

Эти учебные пособия показывают вам, как создавать формы, но опять же, не показывают, как отображать данные, когда форма недействительна:

0 ответов

Другие вопросы по тегам