Added support for valid null values

This patch allows the stepper fields to be set to null even when invalid values are otherwise disallowed. In this mode, the field either contains null or a value within the min/max range of the spinner. Useful for data that should be valid if present, but may be absent.
contract -> contrast?