必填字段在mvc4中不起作用

时间:2013-11-08 05:47:50

标签: 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)]
    [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:*")]

我把所有控件都需要。 在我看来,我将这些控件,例如,电子邮件放在一种形式,剩下的是另一种形式。我的问题是电子邮件验证是以表单形式工作的。

进入另一个表单验证无效。

任何人都可以建议我解决这个问题。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

你的cshtml文件中的

说布局试试这个

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

这可能有用。