Bug 118429 [DataBinding] Validation should use IStatus, not just Strings
In order to use data binding in Workbench or IDE dialogs and preference pages, we need validation in terms of IStatus objects. Using strings is too simplistic. For example, look at the wizard for creating a new class. You will get a warning if the class name does not start with an uppercase letter, or if you don't provide a package name, but you will still be able to click "Finish" to proceed anyway. (Note that IStatus is currently not on the classpath, we need to re-introduce the dependency on org.eclipse.equinox.common, which contains IStatus etc.)
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/DataBindingContext.java
.createDomainValidator(modelType);
			if (validator != null) {
				return validator;
			}
		}
		if (parent != null) {
			return parent.createDomainValidator(modelType);
		}
		return null;
	}
	/**
	 * Tries to create a validator that can validate values of type fromType.
	 * Returns <code>null</code> if no validator could be created. Either
	 * toType or modelDescription can be <code>null</code>, but not both. The
	 * implementation of this method will iterate over the registered bind
	 * support factories in reverse order, passing the given arguments to
	 * {@link BindSupportFactory#createValidator(Class, Class, Object)}. The
	 * first non-null validator will be returned.
	 * 
	 * @param fromType
	 * @param toType
	 * @param modelDescription
	 * @return an IValidator, or <code>null</code> if unsuccessful
	 */
	public IValidator createValidator(Object fromType, Object toType) {
		for (int i = bindSupportFactories.size() - 1; i >= 0; i--) {
			BindSupportFactory bindSupportFactory = (BindSupportFactory) bindSupportFactories
					.get(i);
			IValidator validator = bindSupportFactory.createValidator(fromType,
					toType);