Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cfd0330

Browse files
committed
CLI validation
1 parent 967edfc commit cfd0330

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

cli/cliui/parameter.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ func RichParameter(cmd *cobra.Command, templateVersionParameter codersdk.Templat
6767
_, _ = fmt.Fprintln(cmd.OutOrStdout(), " "+strings.TrimSpace(strings.Join(strings.Split(templateVersionParameter.Description, "\n"), "\n "))+"\n")
6868
}
6969

70-
// TODO Implement full validation and show descriptions.
7170
var err error
7271
var value string
7372
if len(templateVersionParameter.Options) > 0 {
@@ -91,6 +90,9 @@ func RichParameter(cmd *cobra.Command, templateVersionParameter codersdk.Templat
9190

9291
value, err = Prompt(cmd, PromptOptions{
9392
Text: Styles.Bold.Render(text),
93+
Validate: func(value string) error {
94+
return validateRichPrompt(value, templateVersionParameter)
95+
},
9496
})
9597
value = strings.TrimSpace(value)
9698
}
@@ -113,3 +115,10 @@ func templateVersionParameterOptionValues(param codersdk.TemplateVersionParamete
113115
}
114116
return options
115117
}
118+
119+
func validateRichPrompt(value string, p codersdk.TemplateVersionParameter) error {
120+
return codersdk.ValidateWorkspaceBuildParameter(p, codersdk.WorkspaceBuildParameter{
121+
Name: p.Name,
122+
Value: value,
123+
})
124+
}

codersdk/richparameters.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func ValidateWorkspaceBuildParameter(richParameter TemplateVersionParameter, bui
4343

4444
// Method provider.Validation.Valid() does not check the boolean type correctness, so it has to be checked here.
4545
if richParameter.Type == "bool" && (buildParameter.Value != "true" && buildParameter.Value != "false") {
46-
return xerrors.Errorf("%q is not a bool", richParameter.Type)
46+
return xerrors.Errorf(`boolean value can be either "true" or "false"`)
4747
}
4848

4949
if !validationEnabled(richParameter) {

0 commit comments

Comments
 (0)