private static async Task HandleAbpValidationException(AbpValidationException abpValidationException, Func <System.Exception, Task> failCallback) { await UserDialogs.Instance.AlertAsync(abpValidationException.GetConsolidatedMessage(), LocalTranslation.MessageTitle, LocalTranslation.Ok); await failCallback(abpValidationException); }
public void ValidationException_Default_Log_Severity_Change_Test() { // change log severity ... AbpValidationException.DefaultLogSeverity = LogSeverity.Error; var exception = new AbpValidationException("Test exception !"); exception.Severity.ShouldBe(LogSeverity.Error); }
private static async Task HandleAbpValidationException(AbpValidationException abpValidationException, Func <System.Exception, Task> failCallback) { dialogService.ShowMessage( LocalTranslationHelper.Localize("MessageTitle"), abpValidationException.GetConsolidatedMessage()); await failCallback(abpValidationException); }
private void HandleDbEntityValidationException(DbEntityValidationException ex) { var abpValidationException = new AbpValidationException(); foreach (var validationResult in ex.EntityValidationErrors) { foreach (var error in validationResult.ValidationErrors) { abpValidationException.ValidationErrors.Add(new System.ComponentModel.DataAnnotations.ValidationResult(error.ErrorMessage)); } } throw abpValidationException; }
private static string GetValidationErrorNarrative(AbpValidationException validationException) { var detailBuilder = new StringBuilder(); detailBuilder.AppendLine(AbpWebLocalizedMessages.ValidationNarrativeTitle); foreach (var validationResult in validationException.ValidationErrors) { detailBuilder.AppendFormat(" - {0}", validationResult.ErrorMessage); detailBuilder.AppendLine(); } return(detailBuilder.ToString()); }
private string GetValidationErrorNarrative(AbpValidationException validationException) { var detailBuilder = new StringBuilder(); detailBuilder.AppendLine("验证过程中检测到以下错误"); foreach (var validationResult in validationException.ValidationErrors) { detailBuilder.AppendFormat(" - {0}", validationResult.ErrorMessage); detailBuilder.AppendLine(); } return(detailBuilder.ToString()); }
protected string GetMessageFromException(Exception ex) { var message = ex switch { UserFriendlyException e => e.Message, AbpIdentityResultException e => e.LocalizeMessage(new LocalizationContext(ServiceProvider)) .Replace(",", "\n"), AbpValidationException e => e.ValidationErrors.Select(error => error.ErrorMessage).JoinAsString("\n"), BusinessException e => L[e.Code, ex.Data["Email"]], _ => ex.Message }; return(message); } }
public static string GetConsolidatedMessage(this AbpValidationException abpValidationException) { if (abpValidationException?.ValidationErrors == null) { return(null); } if (!abpValidationException.ValidationErrors.Any()) { return(null); } var validationErrorMessages = abpValidationException.ValidationErrors.Select(e => "* " + e.ErrorMessage); var consolidatedMessage = validationErrorMessages.JoinAsString(Environment.NewLine); return(consolidatedMessage); }
private static ValidationErrorInfo[] GetValidationErrorInfos(AbpValidationException validationException) { var validationErrorInfos = new List <ValidationErrorInfo>(); foreach (var validationResult in validationException.ValidationErrors) { var validationError = new ValidationErrorInfo(validationResult.ErrorMessage); if (validationResult.MemberNames != null && validationResult.MemberNames.Any()) { validationError.Members = validationResult.MemberNames.Select(m => m.ToCamelCase()).ToArray(); } validationErrorInfos.Add(validationError); } return(validationErrorInfos.ToArray()); }
private ValidationErrorInfo[] GetValidationErrorInfos(AbpValidationException validationException) { var validationErrorInfos = new List <ValidationErrorInfo>(); foreach (var validationResult in validationException.ValidationErrors) { var validationError = new ValidationErrorInfo(validationResult.ErrorMessage); if (validationResult.ErrorMessage == "The EmailAddress field is not a valid e-mail address.") { validationError.Message = "Email格式错误。"; } if (validationResult.MemberNames != null && validationResult.MemberNames.Any()) { validationError.Members = validationResult.MemberNames.Select(m => m.ToCamelCase()).ToArray(); } validationErrorInfos.Add(validationError); } return(validationErrorInfos.ToArray()); }
/// <summary> /// 重写基类的异常处理方法 /// </summary> /// <param name="context"></param> public override void OnException(ExceptionContext context) { base.OnException(context); context.ExceptionHandled = true; string errorMsg = ""; AbpValidationException abpValidationException = context.Exception as AbpValidationException; if (abpValidationException?.ValidationErrors?.Count > 0) { foreach (var validationError in abpValidationException.ValidationErrors) { errorMsg += validationError.ErrorMessage + ","; } } else { Warning warning = context.Exception as Warning; if (warning != null) { errorMsg = "500-" + warning.Message; } else { errorMsg = "500-" + ExceptionPrompt.Instance.GetPrompt(context.Exception); } } context.Result = new ContentResult { Content = Spring.Helpers.Json.ToJson(new { code = StateCode.SystemError.Value(), message = errorMsg, timestamp = DateTimeOffset.Now.ToUnixTimeSeconds() }) }; }
private static void ValidationExHandler(ExceptionContext context, AbpValidationException v) { var erroMsgs = v.ValidationErrors.Select(e => e.ErrorMessage); context.Result = new JsonResult(new ApiResult().Error(erroMsgs.Aggregate((i, next) => $"{i},{next}"))); }