コード例 #1
0
        /// <summary>
        /// Creates an error validation result for this validator.
        /// </summary>
        /// <param name="context">The validator context</param>
        /// <returns>Returns an error validation result.</returns>
        protected virtual ValidationFailure CreateValidationError(PropertyValidatorContext context)
        {
            var messageBuilderContext = new MessageBuilderContext(context, errorSource, this);

            var error = context.Rule.MessageBuilder != null
                                ? context.Rule.MessageBuilder(messageBuilderContext)
                                : messageBuilderContext.GetDefaultMessage();

            var failure = new ValidationFailure(context.PropertyName, error, context.PropertyValue);

            failure.FormattedMessageArguments         = context.MessageFormatter.AdditionalArguments;
            failure.FormattedMessagePlaceholderValues = context.MessageFormatter.PlaceholderValues;
            failure.ResourceName = errorSource.ResourceName;
            failure.ErrorCode    = (errorCodeSource != null)
                                ? errorCodeSource.GetString(context.Instance)
                                : ValidatorOptions.ErrorCodeResolver(this);

            if (CustomStateProvider != null)
            {
                failure.CustomState = CustomStateProvider(context);
            }

            failure.Severity = Severity;
            return(failure);
        }
コード例 #2
0
        /// <summary>
        /// Creates an error validation result for this validator.
        /// </summary>
        /// <param name="context">The validator context</param>
        /// <returns>Returns an error validation result.</returns>
        protected virtual ValidationFailure CreateValidationError(PropertyValidatorContext context)
        {
            var messageBuilderContext = new MessageBuilderContext(context, Options.ErrorMessageSource, this);

            var error = context.Rule.MessageBuilder != null
                ? context.Rule.MessageBuilder(messageBuilderContext)
                : messageBuilderContext.GetDefaultMessage();

            var failure = new ValidationFailure(context.PropertyName, error, context.PropertyValue);

            //failure.FormattedMessageArguments = context.MessageFormatter.AdditionalArguments;
            failure.FormattedMessagePlaceholderValues = context.MessageFormatter.PlaceholderValues;
            failure.ErrorCode = (Options.ErrorCodeSource != null)
                ? Options.ErrorCodeSource.GetString(context)
                : ValidatorOptions.ErrorCodeResolver(this);
            return(failure);
        }