选择选项值的MVC4验证



我是MVC技术的新手,我有一个MVC 4应用程序,并且正在尝试显示Select Input(月和年)的验证。我对输入类型进行了验证=" text"它对我来说正常工作。我需要选择一个选项。请为此提供帮助?

视图:

        <li>
            <div class="requiredField">@Html.LabelFor(m => m.AccountNumber)<span>* </span>
            </div>
            @Html.TextBoxFor(m => m.AccountNumber, new {@class ="requiredTextBox" })
            <div class="swipeLink">
                @Html.ActionLink("Swipe", "Swipe", "Transaction", new { @class = "swipePopupLink" })
            </div>
        </li>
        <li>
            <div class="requiredField">@Html.Label("Expiration Date")<span>* </span></div>  
            <div class="ExpirationMonthYear">
                @Html.DropDownList("ExpirationMonth", new SelectList(Model.ExpirationMonth, "Value", "Text", 0), new { @class = "requiredTextBox" })
                @Html.DropDownList("ExpirationYear", new SelectList(Model.ExpirationYear, "Value", "Text", 0), new { @class = "requiredTextBox" })
            </div>
        </li>
@Html.ValidationSummary()
           <script src='@Url.Content("~/Scripts/jquery-1.6.2.js")' type="text/javascript">
           </script>
           <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>
           <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"  
           type="text/javascript"></script>

模型视图:

    [Required]
    [Display(Name = "Account Number")]
    public string AccountNumber { get; set; }
    [Required]        
    [Display(Name = "Expiration Date")]
    public IEnumerable<SelectListItem> ExpirationMonth { get; set; }
    [Required]
    public IEnumerable<SelectListItem> ExpirationYear { get; set; }

提前感谢您的支持

用于下拉您需要使用更多属性绑定来检查您的验证

The ModelView 

 [Required]
        [Display(Name = "Account Number")]
        public string AccountNumber { get; set; }

        [Display(Name = "Expiration Date")]
        public IEnumerable<SelectListItem> ExpirationMonth { get; set; }

        public IEnumerable<SelectListItem> ExpirationYear { get; set; }
        //New property 
        [RegularExpression(@"^[^0]*$", ErrorMessage = "Select Month.")]
        public int ExpMonth{get;set;}
        [RegularExpression(@"^[^0]*$", ErrorMessage = "Select Year.")]
        public int ExpYear {get;set;}

视图

<li>
        <div class="requiredField">@Html.LabelFor(m => m.AccountNumber)<span>* </span>
        </div>
        @Html.TextBoxFor(m => m.AccountNumber, new {@class ="requiredTextBox" })
        <div class="swipeLink">
            @Html.ActionLink("Swipe", "Swipe", "Transaction", new { @class = "swipePopupLink" })
        </div>
    </li>
    <li>
        <div class="requiredField">@Html.Label("Expiration Date")<span>* </span></div>  
        <div class="ExpirationMonthYear">
            @Html.DropDownListFor(model=>model.ExpMonth, new SelectList(Model.ExpirationMonth, "Value", "Text", 0), new { @class = "requiredTextBox" })
            @Html.DropDownListFor(model=>model.ExpYear, new SelectList(Model.ExpirationYear, "Value", "Text", 0), new { @class = "requiredTextBox" })
        </div>
    </li>

注意:在上面的示例中,我采取了 int 数据类型,如果它不正确,请根据您的情况将其不同,然后应用验证。

最新更新