2013-04-02 5 views
0

я есть реализовать простое приложение MVC3 в том, что я хочу подтвердить контроль образуют частности ДивValidate DropDown с помощью Jquery в MVC3

// ViewModel

public class NewStreamViewModel 
    { 
     public NewStreamViewModel() 
     { 
      this.Streams = new List<SelectListItem>(); 
      this.Subjects = new List<SelectListItem>(); 
      this.Languages = new List<SelectListItem>(); 
     } 

     [Display(Name = "Language")] 
     [Required(ErrorMessage = "{0} is Required")] 
     public int? LanguageId {get;set;} 


     [Display(Name = "Stream")] 
     [Required(ErrorMessage = "{0} is Required")] 
     public int? StreamId {get;set;} 

     public int[] SubjectIds {get;set;} 

     public List<SelectListItem> Languages {get;set;} 
     public List<SelectListItem> Streams {get;set;} 
     public List<SelectListItem> Subjects {get;set;} 

    } 

//View.cshtml

<div id="tab1"> 
@using (Html.BeginForm()) 
{ 
    <table style="background: none; width: 100%;"> 
        <tr> 
         <td> 
          Language 
         </td> 
         <td> 
          @Html.DropDownListFor(m=>m.LanguageId.Value,Model.Languages) 
          @Html.ValidationMessageFor(m=>m.LanguageId.Value) 
         </td> 
        </tr> 
        <tr> 
         <td>Stream 
         </td> 
         <td> 
          @Html.DropDownListFor(m => m.StreamId.Value, Model.Streams) 
          @Html.ValidationMessageFor(m=>m.StreamId.Value) 
         </td> 
        </tr> 
        <tr> 
         <td>Subjects 
         </td> 
         <td> 
          @Html.ListBoxFor(m => m.SubjectIds, Model.Subjects, new { Style = "width:300px;" }) 
         </td> 
        </tr> 

       </table> 
} 
    <input type="button" value="Save" id="addspan" /> 
</div> 



<script type="text/javascript"> 
    $(function() { 
     var count = 2; 
     $('#wrap').tabs(); 
     $('#addspan').click(function() { 
      var $step = $('#tab1'); 
      var validator = $("form").validate(); // obtain validator 
      var anyError = false; 
      var selects = $('#tab1').find('select'); 
      selects.each(function() { 
       if (!validator.element(this)) { // validate every input element inside this step 
        anyError = true; 
       } 

      }); 
      if (anyError) { 
       return false; 
      } 

      count++; 
     }); 
    }); 
</script> 

Как я могу проверить эти Drop-Downs на стороне клиента в jquery?

+0

Вы используете ненавязчивую проверку на стороне клиента? В этом случае, какова потребность в пользовательском валидационном коде? –

+0

@ Нет, я не использую ненавязчивую проверку на стороне клиента. Я хочу только проверять выпадающие списки из определенного DIV – Shivkumar

+0

Проверка проверки ** [здесь] (http://stackoverflow.com/a/15758449/2007801) ** – 2013-04-02 14:31:29

ответ

1

Добавить эти файлы на вашу страницу (это позволит проверку клиента):

<script src="@Url.Content("~/scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

Призвание:

$('form').valid() 

Вернется true, если нет ошибок, и false, если они есть, и дисплей ошибки вблизи входов.

0

Вы можете проверить выпадающее меню вручную, как это:

$('#addbtn').click(function(){ 
var ddlvalue= $("#dropdownid option:selected").val(); 
if(ddlvalue!='-1') 
{  
    //Do your work. 
} 
else 
    alert('Please select product"); 
}); 
0
<script type="text/javascript" language="javascript"> 
     $(document).ready(function() { 
      $('#<%=btnSubmit.ClientID%>').click(function() { 
       if ($('#<%=ddlCity.ClientID%>').val() == 0) { 
        alert('Please select Country') 
        return false; 
        }        
       if ($('#<%=txtName.ClientID%>').val() == "") { 
        alert(' Name') 
        return false; 
       } 

      }); 
     }); 

    </script> 
Смежные вопросы