我有Kendo DropDownList绑定模型。现在我已经在模型中应用了所需的验证,但它没有触发。我不知道是什么问题。 型号:
[Required(ErrorMessage = "Gender is required.")]
public string Gender { get; set; }
的ViewPage:
@(Html.Kendo().DropDownListFor(m=>m.Gender)
.DataTextField("Text")
.DataValueField("Value")
.OptionLabel("---Select---")
.HtmlAttributes(new { style = "width:100%" })
.AutoBind(true)
.BindTo(new List<SelectListItem>() {
new SelectListItem() { Text = "Male", Value = "Male" },
new SelectListItem() { Text = "Female", Value = "Female" }
})
)
@Html.ValidationMessageFor(m => m.Gender, null, new { style = "color:red;float:left" })
对于其他模型属性,它是触发验证。
答案 0 :(得分:1)
如果您使用的是jquery.validate 1.9+,则默认情况下它会忽略隐藏的输入,而下拉列表使用一个来保存值。为了在这种情况下启用验证,您应该覆盖验证器默认设置,例如
$.validator.setDefaults({ ignore: '' });
有关详细信息,请参阅链接 click here