@@ -22,18 +22,19 @@ func ValidateWorkspaceBuildParameters(richParameters []TemplateVersionParameter,
22
22
}
23
23
24
24
func ValidateWorkspaceBuildParameter (richParameter TemplateVersionParameter , buildParameter WorkspaceBuildParameter ) error {
25
- if buildParameter .Value == "" && richParameter .DefaultValue == "" {
26
- return xerrors .Errorf ("parameter value can't be empty" )
25
+ value := buildParameter .Value
26
+ if value == "" {
27
+ value = richParameter .DefaultValue
27
28
}
28
29
29
- if buildParameter . Value == "" {
30
- return nil // Default value wins
30
+ if value == "" {
31
+ return xerrors . Errorf ( "parameter value can't be empty" )
31
32
}
32
33
33
34
if len (richParameter .Options ) > 0 {
34
35
var matched bool
35
36
for _ , opt := range richParameter .Options {
36
- if opt .Value == buildParameter . Value {
37
+ if opt .Value == value {
37
38
matched = true
38
39
break
39
40
}
@@ -46,7 +47,7 @@ func ValidateWorkspaceBuildParameter(richParameter TemplateVersionParameter, bui
46
47
}
47
48
48
49
// Method provider.Validation.Valid() does not check the boolean type correctness, so it has to be checked here.
49
- if richParameter .Type == "bool" && (buildParameter . Value != "true" && buildParameter . Value != "false" ) {
50
+ if richParameter .Type == "bool" && (value != "true" && value != "false" ) {
50
51
return xerrors .Errorf (`boolean value can be either "true" or "false"` )
51
52
}
52
53
@@ -60,7 +61,7 @@ func ValidateWorkspaceBuildParameter(richParameter TemplateVersionParameter, bui
60
61
Regex : richParameter .ValidationRegex ,
61
62
Error : richParameter .ValidationError ,
62
63
}
63
- return validation .Valid (richParameter .Type , buildParameter . Value )
64
+ return validation .Valid (richParameter .Type , value )
64
65
}
65
66
66
67
func findTemplateVersionParameter (params []TemplateVersionParameter , parameterName string ) (* TemplateVersionParameter , bool ) {
0 commit comments