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