Работа над валидацией полей, работа над выполнением действий

This commit is contained in:
XeRo 2026-01-21 17:56:21 +05:00
parent e37cabadcc
commit dc263b76bf
8 changed files with 220 additions and 23 deletions

View file

@ -47,7 +47,8 @@ func NewFormModel(application *types.PackageApplication, sectionIdx, focus, widt
}
}
selected := fmt.Sprintf("%v", sectionField.Variable.Value)
fieldModels = append(fieldModels, fields.NewSelectModel(sectionField.Name, selected, sectionField.Description, options))
validationFunc := ValidateField(sectionField.Name, sectionField.VariableName, sectionField.Validate, application)
fieldModels = append(fieldModels, fields.NewSelectModel(sectionField.Name, selected, sectionField.Description, options, validationFunc))
case "check":
checked := false
if value, ok := sectionField.Variable.Value.(bool); ok {
@ -55,7 +56,7 @@ func NewFormModel(application *types.PackageApplication, sectionIdx, focus, widt
} else {
checked = sectionField.Variable.Value == "true"
}
validationFunc := ValidateField(sectionField.Name, sectionField.VariableName, sectionField.Validate, application)
validationFunc := ValidateCheckField(sectionField.Name, sectionField.VariableName, sectionField.Validate, application)
fieldModels = append(fieldModels, fields.NewCheckboxModel(sectionField.Name, sectionField.Description, checked, validationFunc))
case "compute":
value, err := ComputeValue(sectionField.Compute, application)