Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ModelState.IsValid始终返回false_Asp.net Mvc_Asp.net Mvc 3_Modelstate - Fatal编程技术网

Asp.net mvc ModelState.IsValid始终返回false

Asp.net mvc ModelState.IsValid始终返回false,asp.net-mvc,asp.net-mvc-3,modelstate,Asp.net Mvc,Asp.net Mvc 3,Modelstate,ModelState.IsValid始终为false。 所以它只是返回视图,新记录不会被添加 编辑 用户: 如果模型验证失败,ModelState.IsValid将为false 您已找到使传入模型失败的 您添加了自定义验证 确保模型中没有非null属性的null条目 检查ModelState.Errors,了解导致此问题的原因。您可以使用以下选项: public class User { public int UserID { get; set; } public string

ModelState.IsValid
始终为false。
所以它只是返回视图,新记录不会被添加

编辑

用户:


如果模型验证失败,
ModelState.IsValid
将为false

  • 您已找到使传入模型失败的
  • 您添加了自定义验证
  • 确保模型中没有非null属性的null条目
  • 检查
    ModelState.Errors
    ,了解导致此问题的原因。您可以使用以下选项:

    public class User
    {
        public int UserID { get; set; } 
        public string Name { get; set; } 
        [Display(Name = "Confirm Password")] [DataType(DataType.Password)] 
        public string ConfirmPassword { get; set; } 
        public string Designation { get; set; } 
        [Display(Name = "Date of Join")] [DataType(DataType.Date)] public DateTime DOJ { get; set; } 
        public string Email { get; set; } 
        [Display(Name = "Phone Number")] public System.Int64 PhoneNo { get; set; }
    }
    

    您能为您的用户模型和视图显示代码吗?这将有助于社区锻炼身体problem@user1697789. 确保模型中没有非null属性的null条目。还有,你试过我的答案了吗?我们需要你的观点。并将此视图添加到初始问题中,而不是添加到注释中。如果(ModelState.IsValid)@user1697789,则此代码是否要在内部写入。不,这是一个简单的代码,可以在modelState中为您提供错误,将其置于
    if(modelState.IsValid)
    +1(对于var errors=modelState.Values.SelectMany(v=>v.errors);粘贴
    ModelState.Values.SelectMany(v=>v.Errors.ElementAt(0)
    进入
    即时窗口
    。这仍然有效吗?“errors”对我来说是空的,但我只是在调试器中查看ModelState,我可以直接查看错误。
    public class User
    {
        public int UserID { get; set; } 
        public string Name { get; set; } 
        [Display(Name = "Confirm Password")] [DataType(DataType.Password)] 
        public string ConfirmPassword { get; set; } 
        public string Designation { get; set; } 
        [Display(Name = "Date of Join")] [DataType(DataType.Date)] public DateTime DOJ { get; set; } 
        public string Email { get; set; } 
        [Display(Name = "Phone Number")] public System.Int64 PhoneNo { get; set; }
    }
    
    var errors = ModelState.Values.SelectMany(v => v.Errors);