我是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 数据类型,如果它不正确,请根据您的情况将其不同,然后应用验证。