Asp.net mvc 4 必填字段在mvc4中不起作用

Asp.net mvc 4 必填字段在mvc4中不起作用,asp.net-mvc-4,Asp.net Mvc 4,在我的模型中,我有电子邮件、密码、新密码和重新键入新密码属性 [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email: ")] public string Email { get; set; } public bool changePassword { get; set; } [Required] [DataType(DataType.Password)] [

在我的模型中,我有电子邮件、密码、新密码和重新键入新密码属性

[Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email: ")]
    public string Email { get; set; }

    public bool changePassword { get; set; }
    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Old Password:*")]
    public string OldPassword { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "New Password:*")]
    public string NewPassword { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Re-type Password:*")]
我把所有的控件都设置为必需的。 在我看来,我把这些控件分为两种,一种是电子邮件,另一种是电子邮件。我的问题是电子邮件验证正在以表单形式工作

转到另一个表单验证不起作用


谁能建议我解决这个问题呢

确保您提交给适当的控制器并使用ModelState.IsValid

// POST: /Orders/Create 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Create(Orders order) {
    if (ModelState.IsValid) {
        try {
        .....

在你的cshtml文件中说布局,试着把这个

@Scripts.Render("~/Scripts/jquery.validate.min.js")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")

这可能行得通。

我也试过了,但不起作用,我用javascript做到了。