MVC 3 проверяет динамические поля формы. ASP.NET - PullRequest
0 голосов
/ 10 марта 2011

Сейчас я работаю над очень динамичной сборкой сайта. Я пытаюсь создать что-то вроде опроса, который можно динамически создавать с панели управления.
В панели управления вы добавляете поля ввода (они сохраняются в базе данных), а затем пользователь видит форму, которую я генерирую из базы данных. Поэтому, если я добавлю 3 поля ввода в базу данных, опрос будет содержать 3 поля. Если я добавлю 20 полей, опрос будет иметь 20 полей.

Теперь моя проблема в том, что я хочу проверить эти поля, и я хотел бы иметь возможность подключить меня к стандартному потоку проверки. Я не могу создать модель с правилами проверки, поскольку число полей и их имена являются динамическими, единственное, что я знаю, это то, какие данные ожидаются в каждом поле (это правило находится в базе данных).
В обычном случае я получаю автоматически подсвеченные поля, которые недопустимы и т. Д. Благодаря встроенному потоку проверки с ValidationResult и т. Д.

Итак, теперь вопрос в том, могу ли я каким-то образом смоделировать части проверки, а затем подключить меня к результату проверки, и, если он недействителен, форма печатает сообщения об ошибках и заполнять поля данными, которые были предоставлены?

С уважением Tobias

1 Ответ

3 голосов
/ 10 марта 2011

То, что я хотел бы сделать, - это создать какую-то модель растяжки, мой собственный ModelMetadataProvider, и для этой модели мне также может понадобиться мой собственный ModelValidator.

Затем вы можете легко создать проверку с помощью Html.EditorFor и других Html-помощников, так как они используют метаданные для создания проверки.

Кстати, вам может также понадобитьсядля создания подшивки модели:)

метаданные : http://mgolchin.net/posts/21/dive-deep-into-mvc-modelmetadata-and-modelmetadataprovider

http://weblogs.asp.net/seanmcalinden/archive/2010/06/11/custom-asp-net-mvc-2-modelmetadataprovider-for-using-custom-view-model-attributes.aspx

http://bradwilson.typepad.com/blog/2010/01/why-you-dont-need-modelmetadataattributes.html

валидатор : http://dotnetslackers.com/articles/aspnet/Customizing-ASP-NET-MVC-2-Metadata-and-Validation.aspx#s2-validation

http://dotnetslackers.com/articles/aspnet/Experience-ASP-NET-MVC-3-Beta-the-New-Dependency-Injection-Support-Part2.aspx#s10-new-support-for-validator-provider

скоросшиватель модели :

http://www.singingeels.com/Articles/Model_Binders_in_ASPNET_MVC.aspx

Thisможет быть излишним ... Но это те точки расширяемости, которые вы можете использовать.

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