2015-02-19 2 views
0

Как добавить простую проверку в мой код? Если value = 0, я не хочу, чтобы контроллер обрабатывал форму. Если выбрано что-то еще, кроме 0, я хочу, чтобы контроллер обработал форму.html.validation asp.net razor

@using (Html.BeginForm("GenerateReport", "Admin", FormMethod.Get)) 
{ 
    <select id="reportId" name="reportId" class="form-control"> 
     <option value="0">Select</option> 
     <option value="1">Religion</option> 
     <option value="2">Address</option> 
     <option value="3">Job</option> 
     <option value="4">Degree</option> 
     <option value="7">Age</option> 
    </select> 

    <input type="submit" value="Print" id="rlist_type" /> 
} 

ответ

1

В данной статье приведены основные сведения о ASP.NET MVC 5 проверки http://www.asp.net/mvc/overview/getting-started/introduction/adding-validation

Я оставил бы значение для первого варианта пустой затем добавить [обязательно] атрибут объекта, который я использовал для захватить сообщение формы.

public class AdminScreenFormPost 
{ 
    [Required] 
    public int reportId { get; set; } 
} 

Внутри контроллера добавить

if (!ModelState.IsValid) 
{ 
    return View(); 
} 

По мнению бритвы добавить это так будет отображает результаты проверки

@Html.ValidationSummary(true) 

Я также хотел бы посмотреть в ModelState.AddModelError

ModelState.AddModelError("MyDropDownListKey", "Please Select"); 
+0

Вау! супер спасибо @Nathan Smith. Теперь он работает: D – radixx