code: @Override
  	public void setData(final Object data) {
  		// This override is necessary to maintain other internal state
  		String value = data == null ? null : data.toString();
  
  		// Empty date is treated as null
  		if (Util.empty(value)) {
  			value = null;
  		}
  
  		// Check valid format
  		PartialDateFieldModel model = getOrCreateComponentModel();
  		if (value == null || isValidPartialDateStringFormat(value, getPaddingChar())) {
  			// Valid
  			model.text = null;
  			model.validDate = true;
  			super.setData(value);
  		} else {
  			// Invalid
  			model.text = value;
  			model.validDate = false;
  			super.setData(data);
  		}
  	}
docs: {@inheritDoc}