package form

import (
	"strings"

	"github.com/pkg/errors"
)

func NonEmpty(message string) func(f *Field) error {
	return func(f *Field) error {
		value, err := FieldAttr[string](f, "value")
		if err != nil {
			return errors.WithStack(err)
		}

		if strings.TrimSpace(value) == "" {
			return NewValidationError(message)
		}

		return nil
	}
}