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
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);