Я пытаюсь использовать свою модель представления для проверки формы как на стороне клиента, так и на стороне сервера. У меня работают все проверки, кроме моего Kendo Combobox. Я привязал модель к множественному выбору, но не знаю, как отличить список от выбранного значения.
Поле со списком:
@(Html.Kendo().ComboBox()
.Name("roleRequest_UnavailableRoles")
.BindTo(new SelectList(Model.roleRequest.UnavailableRoles, "Value", "Text"))
.HtmlAttributes(new { name="addRoleName", style = "width:250px", required = true, roleValidationMessage = "foo" })
.Value(Model.roleRequest.roleName)
.DataTextField("Text")
.DataValueField("Value")
.Filter(FilterType.StartsWith)
.Placeholder("Select Role...")
.AutoBind(false)
.Suggest(true)
)
Модель просмотра:
[Required]
public string roleName { get; set; }
[Required]
public string usersName { get; set; }
[Required]
public string application { get; set; }
[Required]
public string reasons { get; set; }
public virtual IEnumerable<SelectListItem> UnavailableRoles
{
get
{
var unavailableList = new List<Role>();
unavailableList = RoleHelper.GetUnavailableRoles(usersName, application);
var unavailableRolesList = (unavailableList.Distinct());
var UnavailableRoles = new List<SelectListItem>();
foreach (var role in unavailableRolesList)
{
UnavailableRoles.Add(new SelectListItem
{
Value = role.RoleID.ToString(),
Text = role.RoleName
});
}
return new SelectList(UnavailableRoles, "Value", "Text");
}
}
Контроллер: [HttpPost] public ContentResult RoleRequest(AddRoleRequestViewModel viewModel) { if (ModelState.IsValid) { return Content("1"); } вернуть содержимое(""); }
Приведенный выше код компилируется, но я не могу заставить контроллер возвращать недействительный результат, если в поле со списком не выбран ни один элемент. кто-нибудь может объяснить, как это исправить?
Любая помощь будет принята с благодарностью.