Debugging showed me that the validation wasn't fired if the field was empty, so I had to rethink how I was approaching this. So, if anyone's curious, here's what I did to get this working:
- Make a custom hidden input form component that has a value (any value) in the DefaultValue property.
- Make a custom validator to compare this hidden input field to a field you want to validate against. In the Validate method, fetch the value of the field you're comparing against using the DependeeFieldValue variable and put in your code to check if that variable is empty.
- In Form Builder, add the hidden input field to the form. Blank out the label and make the field required. You will need to add the hidden field for each input field you want to validate against.
- Assign your custom validator to the hidden field. Have it compare against the field you want to make sure isn't blank. That field should not be required. Type in the error message you want to show.
With all of that, I was able to validate an empty field that wasn't required. This seems to work for most of the fields, but I did notice an issue with Multiple Choice and Textarea fields, but that's a different issue, so I think this ticket can be closed. Thanks again for your help.