我在 ASP.NET MVC3 客户端验证方面遇到问题。
我的 View 基于我创建的 View 模型,其中以下字段为必填
public class AppointmentFeedbackViewModel_Validation
{
[Required]
public string AttendeeName { get; set; }
[Required(ErrorMessage = "Notes must be filled in")]
public string Notes { get; set; }
[Required(ErrorMessage = "Appointment status must be filled in")]
public int AppointmentStatusId { get; set; }
[Required]
public int StarId { get; set; }
}
遗憾的是,提交表单时会按要求显示完全不相关的字段 SubStatusId
。
此下拉列表从 Controller 传递一个空的List
new List<EF.ViewModels.OpportunityConnectTypeViewModel>();
并标记如下
<div class="display-label-styled">
Please select another reason for this outcome
</div>
<div class="display-field-styled">
@Html.DropDownListFor(model => model.SubStatusId, new SelectList(ViewBag.SubStatus, "ID", "StatusName"))
@Html.ValidationMessageFor(model => model.SubStatusId)
</div>
如果有人能为我阐明这一点,我将非常感激。
最佳答案
SubStatusId 是 int 吗? Int 是隐式必需的。如果您不希望它是必需的,请将其声明为可空 int:
公共(public)整数?子状态ID;
关于asp.net-mvc - ASP.NET MVC3 客户端验证的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7081912/