Игнорирование обязательного поля объекта - PullRequest
1 голос
/ 06 декабря 2011

Я получил следующую переменную в моей сущности:

[DataType(DataType.Currency)]   
[DisplayName("Value U$:")]
[Required(ErrorMessage = "Currency Required.")]
public decimal? CurrecyValue { get; set; }

На самом деле я использую эту сущность, и мне не нужно это поле.Как только я публикую любую информацию, ModelState становится недействительным, потому что это требуется.

Я знаю, что могу использовать ModelState.Clear();, но, делая это, я буду игнорировать все остальные необходимые мне проверки.

Есть ли способ просто игнорировать это поле без очистки всего моего ModelState?

Спасибо!

1 Ответ

5 голосов
/ 06 декабря 2011

Безобразный и совершенно не рекомендуемый обходной путь:

ModelState.Remove("CurrecyValue");

Рекомендуемое решение:

Используйте просмотр моделей. Но реальный вид моделей. Не некоторые гибриды, которые вы называете , видят модели и в которые вы втыкаете свои доменные сущности и от которых вы удивляетесь, как избавиться просто потому, что они не адаптированы к требованиям данного представления. Вы должны определить конкретную модель представления для каждого из ваших представлений. Если вы не будете следовать этому очень простому правилу, вы будете много бороться с ASP.NET MVC.

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