コード例 #1
0
        /// <summary>
        /// Validates the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns>The validation result.</returns>
        public ValidationResult Validate(TEntity entity)
        {
            ValidationResult validationResult = ValidationResult.Empty();

            if (m_Specification != null && !m_Specification.IsSatisfiedBy(entity))
            {
                return(validationResult);
            }

            object propertyValue = m_PropertyFunc(entity);

            if (m_Validator.IsValid(entity, propertyValue))
            {
                return(validationResult);
            }

            MemberInfo memberInfo = GetMemberInfo();
            string     message    = GetValidationMessage(entity, memberInfo);

            validationResult.Errors.Add(new ValidationError
            {
                Message      = message,
                PropertyName = memberInfo.Name,
                TargetValue  = entity
            });
            return(validationResult);
        }
コード例 #2
0
        /// <summary>
        /// Validates the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns>The validation result.</returns>
        public ValidationResult Validate(object entity)
        {
            ValidationResult validationResult = ValidationResult.Empty();

            if (m_Validator.IsValid(null, entity /* property value */))
            {
                return(validationResult);
            }

            string validationMessage = GetValidationMessage(null);

            validationResult.Errors.Add(new ValidationError
            {
                Message      = validationMessage,
                PropertyName = m_PropertyName,
                TargetValue  = entity
            });
            return(validationResult);
        }