1

У меня есть form, где говорят, что у меня есть 2 элемента управления. A select, который был настроен с использованием bootstrap-selectpicker и textbox, которые являются strongly typed с viewmodel. Ниже приведены подробные сведения о структуре проекта и вот DEMO и проверка использует jquery-validatejquery validate on @ Html.DropDownListFor с bootstrap selectpicker

SampleViewModel.cs

public class SampleViewModel 
{ 
     [Required(ErrorMessage="Please Select a Role")] 
     //Not sure whether Required has to be assigned to RoleId or Roles 
     public int RoleId { get; set; } 
     public SelectList Roles { get; set; } 
     [Required(ErrorMessage="Please Enter a name")] 
     public string name{get;set;} 
} 

Вид

<div class="container"> 
    <div class="col-md-6 col-md-offset-3"> 
     <h1>Hello Stranger</h1> 
      @using (Html.BeginForm("", "", FormMethod.Post, 
          new { enctype = "multipart/form-data", id="frmSample" })) 
      { 
       <div class="form-group"> 
        @Html.DropDownListFor(m => m.RoleId, Model.Roles, "Please Select your Country", new{@class="selectpicker"}) 
        @Html.ValidationMessageFor(m=>m.RoleId) 
       </div> 
       <div class="form-group"> 
        @Html.TextBoxFor(m => m.name, null, new{@class="form-control"}) 
        @Html.ValidationMessageFor(m=>m.name) 
       </div> 
       <button type="button" class="btn btn-success submit">Ask</button> 
      } 
      <br/><br/> 
     </div> 
</div> 

Контроллер

public class HomeController : Controller 
{ 
    [HttpGet] 
    public ActionResult Index() 
    { 
     SampleViewModel model=new SampleViewModel(); 
     model.Roles = new SelectList(new string[] { "Admin", "Manager" }); 
     return View(model); 
    } 
} 

JS

$(document).ready(function(){ 
    $('.selectpicker').selectpicker(); 
    $("#frmSample").validate({ 
     onfocusout: true 
    }); 
}); 
$('.submit').on('click',function(){ 
    if($("#frmSample").valid()) 
     alert(true); 
}); 

Проблема

  • Проблема я столкнулся мой dropdown элемент не получает подтверждено с помощью jquery validation тогда мой textbox получает проверено. Может быть, проблема заключается в том, как я инициализирую, или , присваивая атрибут Required конкретному атрибуту model , и я не уверен, для чего нужно назначить атрибут required .
  • Я дал onfocusout:true для проверки на фокус из но если вы печатаете что-то на textbox и удаления содержимого, проверка не бывает

Любая помощь по этому вопросу высоко ценится.

+1

'.selectpicker()' я предполагаю, является JQuery плагин, который будет скрыть элемент '