У меня есть модель представления с 2 свойствами, которые являются необязательными - т.е. - не требуется. В представлении используется dropdownlistfor(), чтобы получить значения для этих двух полей, а включает в себя опциональную метку «» для пустого значения.MVC2 Validation - «Требуется значение»
Когда отправлено обратно в действие create, у ModelState есть ошибка для обоих этих полей, в которой указано «Требуется значение».
У кого-нибудь есть подсказка, если это ошибка или ошибка глупого пользователя (т. Е. Меня)?
Благодаря
Udpate:
The View Модель выглядит следующим образом: [DisplayName ("Check Digit Типа")] общественный VMBarcodeMaskCheckDigitType BarcodeMaskCheckDigitType { прибудет; комплект; }
[DisplayName("Mask Type")]
[Required(ErrorMessage="Mask type is required")]
public VMBarcodeMaskType BarcodeMaskType
{
get;
set;
}
[DisplayName("Product")]
public VMProduct Product
{
get;
set;
}
Связывание в контроллере:
public ActionResult Create()
{
BarcodeMaskViewModel model = new BarcodeMaskViewModel(new VMBarcodeMask(), Domain.GetBarcodeMaskTypes(), Domain.GetBarcodeCheckDigitTypes(), Domain.GetProducts());
return View(model);
}
//
// POST: /Barcode/Create
[HttpPost]
public ActionResult Create(BarcodeMaskViewModel model)
{
try
{
if (ModelState.IsValid)
{
...
}
}
catch (Exception ex)
{
ModelState.AddModelError("*", ex);
}
return View(new BarcodeMaskViewModel(model.BarcodeMask, Domain.GetBarcodeMaskTypes(), Domain.GetBarcodeCheckDigitTypes(), Domain.GetProducts()));
}
Какую технику проверки вы используете? Я предполагаю, что атрибуты валидации DataAnnotation? Можете ли вы опубликовать эту модель представления и код, который выполняет привязку? – Charlino
Вот что представляет собой часть модели для просмотра: [DisplayName ("Check Digit Type")] public VMBarcodeMaskCheckDigitType BarcodeMaskCheckDigitType { get; комплект; } [отображаемое_имя ("Маска типа")] [Требуемый (ErrorMessage = "Тип маски требуется")] общественного VMBarcodeMaskType BarcodeMaskType { Get; комплект; } [DisplayName («Продукт»)] общественный VMProduct Продукт { get; комплект; } – Jonesie