Javascript ModelState.IsValid无法验证!

Javascript ModelState.IsValid无法验证!,javascript,model-view-controller,modelstate,model-validation,Javascript,Model View Controller,Modelstate,Model Validation,所以我有一个简单的类,我用它来发送一个联系表单电子邮件 public class EnquiryEmail : Entity { [DataType(DataType.Text)] [Required(ErrorMessage = "Name is a required field")] [StringLength(100, ErrorMessage = "Must be under 100 characters")] public virtual string

所以我有一个简单的类,我用它来发送一个联系表单电子邮件

public class EnquiryEmail : Entity
{
    [DataType(DataType.Text)]
    [Required(ErrorMessage = "Name is a required field")]
    [StringLength(100, ErrorMessage = "Must be under 100 characters")]
    public virtual string Name { get; set; }

    [DisplayName("Tel")]
    [DataType(DataType.PhoneNumber)]
    [StringLength(20, ErrorMessage = "Must be under 20 characters")]
    public virtual string Tel { get; set; }


    [DataType(DataType.EmailAddress)]
    [Required(ErrorMessage = "Email is a required field")]
    [RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Valid Email Address is required.")]
    [StringLength(100, ErrorMessage = "Must be under 100 characters")]
    public virtual string Email { get; set; }

    [DataType(DataType.MultilineText)]
    [Required(ErrorMessage = "Enquiry is a required field")]
    public virtual string Enquiry { get; set; }

}
上面是我的班级,我的控制器如下

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Enquiry(EnquiryEmail model)
    {
        if (ModelState.IsValid)
        {
            //Send a Email to Admin!!
            if (ForSale.Core.Email.EnquiryEmail(model))
            {
                return new JsonResult { Data = new { Success = true } };
            }
        }

        return new JsonResult { Data = new { Success = false } };
    }
出于某种原因,ModelState.IsValid返回为true,即使我可以查看InquireYeMail对象,并查看对值进行“必需”验证的空值

查看ModelState.IsValid显示4个值-空值实际上显示为名为“AttemptedValues”的属性下的空字符串。我不确定这是一个问题,还是只是虚心人做的一件事


无论哪种方式,它都无法正确验证。有什么想法吗?

在返回默认视图(myObject)并破坏默认jquery验证规则后,我也面临同样的问题。因此,我在Create()期间回滚到原始视图()。验证规则又回来了。可能有个bug。我返回对象视图(myObject)的原因是,当调用@Html.EditorFor()时,它可以自动填充默认值