code: protected void validateNumber(final List<Diagnostic> diags) {
  		BigDecimal value = getValue();
  		if (value == null) {
  			return;
  		}
  		BigDecimal min = getComponentModel().minValue;
  		BigDecimal max = getComponentModel().maxValue;
  
  		int decimals = getComponentModel().decimalPlaces;
  
  		if (min != null && value.compareTo(min) < 0) {
  			diags.add(createErrorDiagnostic(InternalMessages.DEFAULT_VALIDATION_ERROR_MIN_VALUE,
  					this, min));
  		}
  
  		if (max != null && value.compareTo(max) > 0) {
  			diags.add(createErrorDiagnostic(InternalMessages.DEFAULT_VALIDATION_ERROR_MAX_VALUE,
  					this, max));
  		}
  
  		if (value.scale() > decimals) {
  			diags.add(createErrorDiagnostic(
  					InternalMessages.DEFAULT_VALIDATION_ERROR_MAX_DECIMAL_PLACES, this,
  					decimals));
  		}
  
  	}
docs: <p>
  Performs validation of the number. Validation ensures that the entered text is a valid number, and is between the
  minimum/maximum values (if applicable).
  </p>
  <p>
  Subclasses can override this method to perform more specific validation.
  </p>
  
  @param diags the list into which any validation diagnostics are added.