No longer sets invalid on an empty value

- Updated to not require a value.
- Added more tests to further support the above.