1.執行sql前資料驗證,如果失敗抛出異常,驗證失敗資訊,在注釋方法中可以自定義
/// <summary>
/// 模型驗證
/// </summary>
public bool IsValided<T>(T model) where T : class
{
DbEntityValidationResult vResult = Context.Entry<T>(model).GetValidationResult();
if (vResult == null)
return true;
if (vResult.IsValid)
return true;
StringBuilder builder = new StringBuilder();
foreach (DbValidationError item in vResult.ValidationErrors)
{
builder.Append("出錯字段:" + item.PropertyName);
builder.Append("<br/>");
builder.Append("錯誤描述:" + item.ErrorMessage);
builder.Append("<br />");
}
throw new Exception("資料驗證失敗," + builder.ToString());
}
2.自定義驗證失敗,異常資訊
[StringLength(32,ErrorMessage ="最大長度為32")]
public string UpperCase32 { get; set; }