2012-07-30 79 views
2

当我点击按钮,客户端验证是不是下面的工作是我的视图和模型客户端验证不适用于剃须刀MVC3中的DropDownListFor?

观点:

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


@using (Html.BeginForm("Guestlogin", "Home", FormMethod.Post)) 
      { 
       for (int i =0; i <1; i++) 
       { 
      @Html.DropDownListFor(per => per.[i].Gender, new[] { 
              new SelectListItem(){Text = "Male" , Value="Male"}, 
              new SelectListItem(){Text ="Female" , Value = "Female"}, 
             }, "Select Your Gender")@Html.ValidationMessageFor(o => o[i].Gender) 
      } 

      <button type="submit" name="Button"/> 
      } 

型号:

[Required] 
public string Gender { set;get;} 
+0

你定义的数据注解?显示有问题 – Yasser 2012-07-30 13:19:45

+0

你引用了jquery.validate。* javascripts? – 2012-07-30 13:22:01

+0

是啊我引用jquery – Sham 2012-07-30 13:25:25

回答

1

检查UR模式:

public class urvalidationmodel 
{ 
    [Required] 
    [Display(Name = "Gender")] 
    public IEnumerable<Gender> gender { get; set; } 
} 

js:

function Gender(sender, args) { 
    var v = document.getElementById('Gender').value; 
    if (v == 'Male' || v == 'Female') { 
     args.IsValid = true; // Valid 
    } 
    else { 
     args.IsValid = false; // Invalid 
    } 
} 
0

就在这个代码视图中的表单之前简单:

@using (Html.BeginForm("Guestlogin", "Home", FormMethod.Post)) 
     { 
      for (int i =0; i <1; i++) 

在此之前,这个添加下面的代码:

@{ Html.EnableClientValidation(); } 
    @using (Html.BeginForm("Guestlogin", "Home", FormMethod.Post)) 
     { 
      for (int i =0; i <1; i++)