In UITextComponent.setValue(), the value is set to null in case the value does not match the data type's criteria. But in such a case, the value should be set to IDataType.getDefaultValue() as this is the default value that should be used whenever the input does not match the data type.
public void setValue(Object value) {
...
Object newValue = null; // this should be: Object newValue = fDataType.getDefaultValue(value);
...
}
In UITextComponent.updateToModel(), this desired behaviour is already implemented.