我试图在mvc表单页面上使用jquery验证插件来检查某些必填字段。但是,我得到的错误消息是我的视图模型的验证规则。有没有人碰巧知道为什么我在jquery.validate中设置的规则没有显示?
这是我的视图模型
public class ViewModelA
{
[Required(ErrorMessageResourceName = "invalid name")]
public string ClientName { get; set; }}
这是我的mvc web表单(正确导入jquery验证unobtrusive库)
@model ViewModelA
@using (Html.BeginForm(null, null, FormMethod.Post, new { id="AAA"})){
@Html.LabelFor(model => model.ClientName, new { @class = "text-bold " })
@Html.ValidationMessageFor(model => model.ClientName)
@Html.TextBoxFor(model => model.ClientName, @class = "input-text required" })
}
在我的jquery控制器中,我正在尝试验证
$("#AAA").validate({
onsubmit: false,
rules: {
ClientName: {
required: true
},
},
messages: {
ClientName: {
required: 'validation message from jquery'
},
}
});
但无法显示此消息。我认为我正确使用jquery验证库。但是viewmodel以某种方式重置我的html或js导致FE验证不起作用。我也尝试删除@ Html.ValidationMessageFor。虽然未显示来自viewmodel的错误消息,但FE错误消息未显示