Added validator for barred / dotted / etc
Reduced duplication in tests
Added more tests for similar fields
Refactored validation code to reduce duplication