Installing Kubernetes Ingress Controller: Can I put everything in a Helm values.yaml file?

I’ve been able to install the Kubernetes Ingress Controller using Helm

helm install haproxy-controller haproxytech/kubernetes-ingress --set controller.service.type=LoadBalancer --set controller.service.loadBalancerIP="$publicIP" --create-namespace --namespace haproxy-controller

I can then configure it by editing the ConfigMap, etc.
The documentation on creating/editing the ConfigMap directly (ConfigMap options | HAProxy Kubernetes Ingress Controller) is clear enough.

Can I create a values.yaml file with values that will be saved in the ConfigMap and TCP ConfigMap?

I’m guessing it would look something like this:

controller:
  service:
    type: LoadBalancer
    annotations:
      global-config-snippet: |
        tune.ssl.default-dh-param 2048
        tune.bufsize 33792
      backend-config-snippet: |
        option http-pretend-keepalive
        http-send-name-header x-dst-server
        stick-table type string len 32 size 100k expire 30m      
        stick on req.cook(sessionid)
      frontend-config-snippet: |
        unique-id-format %{+X}o\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid  
        unique-id-header X-Unique-ID
      load-balance: "leastconn"
      forwarded-for: "true"
      ssl-redirect: "true"
      timeout-client: "30m"
      timeout-client-fin: "1h"
      timeout-server: "30m"
      timeout-server-fin: "1h"
      timeout-connect: "3s"
      syslog-server: "address:stdout, format: raw, facility:daemon"

Along the same lines, is there a way to validate the Helm values file?