0

Validation Application Block を使用してカスタムバリデーターを作成しました。その正常に動作します。しかし、同じバリデータに対して設計時のサポートを提供する方法。Enterprise Library Configuration アプリケーション コンソールでこのカスタム バリデータを使用する必要があります。

これはカスタムバリデーターコードです..

 [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class StringIsNullOrEmptyAttribute : ValueValidatorAttribute
{
    protected override Validator DoCreateValidator(Type targetType)
    {
        return new StringIsNullOrEmpty(this.MessageTemplate, this.Negated);
    }
}

public class StringIsNullOrEmpty : ValueValidator<string>
{
    public StringIsNullOrEmpty(string messageTemplate, bool negated)
        : base(messageTemplate, null, negated)
    {
    }

    protected override void DoValidate(string objectToValidate, object currentTarget, string key, ValidationResults validationResults)
    {
        if (string.IsNullOrEmpty(objectToValidate) != Negated)
        {
            LogValidationResult(validationResults, GetMessage(objectToValidate, key), currentTarget, key);
        }
    }

    protected override string DefaultNegatedMessageTemplate
    {
        get
        {
            return "Field cannot have a value.";
        }
    }

    protected override string DefaultNonNegatedMessageTemplate
    {
        get
        {
            return "Field is required.";
        }
    }
}
4

1 に答える 1

0

CodePlex から回答を得ました。ここにリンクがあります

カスタム バリデータの設計時のサポート - Validation Application Block

スケシュ・チャンド

于 2013-04-18T10:54:33.067 に答える