这是表格的模型。
public class Master
{
public int Id { get; set; }
public string EmailId { get; set; }
public string UniqueCode { get; set; }
....
[Required]
public string Password { get; set; }
[Required]
[NotMapped]
[System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
当我尝试使用以下代码更新Above记录时,我收到验证错误The password and confirmation password do not match.
,The confirmation password is required.
。
未映射确认密码属性。如何在更新记录时设置注释? : -
var data = ctx.tblMaster.Where(m => m.EmailId == emailId).Select(m => m).SingleOrDefault();
data.UniqueCode = UniqueCode;
ctx.tblMaster.Attach(data);
ctx.Entry(data).State = EntityState.Modified;
ctx.SaveChanges();
答案 0 :(得分:0)
这可以简单地做到前端。发生的验证是基于html5的数据属性完成的。从输入元素中删除数据属性,验证将停止运行。
您可以有条件地从控制器中删除模型状态中的字段,如此
示例代码:
if (Request.IsAuthenticated)
{
...
// We don't need to validate user fields if user is logged in.
ModelState.Remove("CommenterName");
ModelState.Remove("Email");
}