Validation constraints on form fields ignored
Turns out I was trying too hard. Typical beginner mistake. :)  I threw out the code above, and started from scratch. I replaced everything with the code examples in this tutorial: https://www.drupal.org/docs/8/api/entity-validation-api/providing-a-custom-validation-constraint

Within the validator, I replaced if (!is_int($item-&gt;value)) with  if ($item-&gt;value == "Value one" || "value two"), to get what I needed to validate on. Then I modified the variable names, field names and error messages to suit my needs. It only handles one field, but gets me closer to what I need.