This method first inspects $inputValue and convert it into a dedicated
value object.
After that, the value is checked for structural validity.
Note that this does not include validation after the rules
from validators, but only plausibility checks for the general data
format.
Note that this method must also cope with the empty value for the field
type as e.g. returned by {@link getEmptyValue()}.