#asp.net-mvc #validation
#asp.net-mvc #проверка
Вопрос:
При публикации содержимого текстового поля, содержащего html-код, я получаю сообщение об ошибке, касающееся возможного опасного содержимого. Я прочитал, как настроить старое поведение 2.0, но у меня это не работает, и я бы предпочел иметь чистое решение. Я, вероятно, не единственный человек, которому нужно опубликовать html, поэтому я удивляюсь, что я не смог найти решение для отключения этого поведения. Любой намек, каков правильный способ решения этой проблемы?
Ответ №1:
Для вашей модели ввода вы можете определить:
public class FormViewModel
{
[AllowHtml]
public string Content { get; set; }
}
Где Content
находится ваше соответствующее поле:
@Html.EditorFor(m => m.Content)
Комментарии:
1. Лол, может быть, тебе следует? Это помогает инкапсулировать все ваши входные параметры в структурированную модель и дает вам преимущества привязки модели и проверки модели…
Ответ №2:
Добавили ли вы атрибут Validate Input в метод контроллера?
[ValidateInput(false)]
Я думаю, они нужны вам только в вашем web.config, если вы используете веб-формы, а также mvc, но, возможно, стоит попробовать.
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
Комментарии:
1. модификация web.confix в MVC 3 не требуется
2. нехорошо ложно выполнять всю проверку только для одного поля, я предпочитаю ответ Мэтью Эббота.