@@ -1076,10 +1076,23 @@ func formatCoderSDKError(from string, err *codersdk.Error, opts *formatOpts) str
1076
1076
_ , _ = str .WriteString ("\n " )
1077
1077
}
1078
1078
1079
+ // The main error message
1079
1080
_ , _ = str .WriteString (pretty .Sprint (headLineStyle (), err .Message ))
1081
+
1082
+ // Validation errors.
1083
+ if len (err .Validations ) > 0 {
1084
+ _ , _ = str .WriteString ("\n " )
1085
+ _ , _ = str .WriteString (pretty .Sprint (tailLineStyle (), fmt .Sprintf ("%d validation error(s) found" , len (err .Validations ))))
1086
+ for _ , e := range err .Validations {
1087
+ _ , _ = str .WriteString ("\n \t " )
1088
+ _ , _ = str .WriteString (pretty .Sprint (cliui .DefaultStyles .Field , e .Field ))
1089
+ _ , _ = str .WriteString (pretty .Sprintf (tailLineStyle (), ":%s" , e .Detail ))
1090
+ }
1091
+ }
1092
+
1080
1093
if err .Helper != "" {
1081
1094
_ , _ = str .WriteString ("\n " )
1082
- _ , _ = str .WriteString (pretty .Sprint (tailLineStyle (), err .Helper ))
1095
+ _ , _ = str .WriteString (pretty .Sprintf (tailLineStyle (), "Suggestion: %s" , err .Helper ))
1083
1096
}
1084
1097
// By default we do not show the Detail with the helper.
1085
1098
if opts .Verbose || (err .Helper == "" && err .Detail != "" ) {
0 commit comments