Castle.Components.Binder.DataBinder.CheckForValidationFailures C# (CSharp) Method

CheckForValidationFailures() protected method

protected CheckForValidationFailures ( object instance, Type instanceType, PropertyInfo prop, Castle.Components.Binder.CompositeNode node, string name, string prefix, ErrorSummary summary ) : bool
instance object
instanceType System.Type
prop System.Reflection.PropertyInfo
node Castle.Components.Binder.CompositeNode
name string
prefix string
summary Castle.Components.Validator.ErrorSummary
return bool
		protected bool CheckForValidationFailures(object instance, Type instanceType,
		                                          PropertyInfo prop, CompositeNode node,
		                                          string name, string prefix,
		                                          ErrorSummary summary)
		{
			object value = null;

			if (validator == null)
			{
				return false;
			}

			IValidator[] validators = validator.GetValidators(instanceType, prop);

			if (validators.Length != 0)
			{
				Node valNode = node.GetChildNode(name);

				if (valNode != null && valNode.NodeType == NodeType.Leaf)
				{
					value = ((LeafNode)valNode).Value;
				}

				if (value == null && IsDateTimeType(prop.PropertyType))
				{
					bool conversionSucceeded;
					value = TryGetDateWithUTCFormat(node, name, out conversionSucceeded);
				}

				if (value == null && valNode == null)
				{
					// Value was not present on the data source. Skip validation
					return false;
				}
			}

			return CheckForValidationFailures(instance, instanceType, prop, value, name, prefix, summary);
		}

Same methods

DataBinder::CheckForValidationFailures ( object instance, Type instanceType, PropertyInfo prop, object value, string name, string prefix, ErrorSummary summary ) : bool