MVC 4验证射击,但形式仍然提交?(MVC 4 Validation firing, but th

2019-10-18 01:24发布

我的MVC 4验证工作,因为它看来,这些错误信息弹出,但它仍然提交表单。 任何想法,我缺少什么? 谢谢。

public class StatusRequestModel
{
    [Required]
    [Display(Name = "Ticket Number")]
    public int? TicketNumber { get; set; }

    [Required]
    [Display(Name = "Postal Code")]
    public int? PostalCode { get; set; }
}


@using (Html.BeginForm())
{
    @Html.ValidationSummary()
    @Html.LabelFor(x => x.TicketNumber)
    @Html.TextBoxFor(x => x.TicketNumber)
    @Html.LabelFor(x => x.PostalCode)
    @Html.TextBoxFor(x => x.PostalCode)
    <input type="submit" value="Submit" />
    <input type="reset"  value="Reset"/>
}

Answer 1:

确保你在你的代码中引用下面的JS库:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>

确保您有以下appSettings在你的web.config文件中的条目:

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

您还可以启用视图,而不是配置文件,如果你想客户端验证:

@{ Html.EnableClientValidation(); }


Answer 2:

greg84的答案是需要被纳入到项目什么条件正确答案。 但对我来说,我也有过的jquery.validate插件不使用jQuery> 1.9.0工作的问题。 有一次,我把它改成了jQuery 1.8.3,它的工作。



文章来源: MVC 4 Validation firing, but the form is still submitting?