Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Microsoft验证应用程序块中自定义验证程序的设计时支持_C#_.net_Validation_Enterprise Library - Fatal编程技术网

C# Microsoft验证应用程序块中自定义验证程序的设计时支持

C# Microsoft验证应用程序块中自定义验证程序的设计时支持,c#,.net,validation,enterprise-library,C#,.net,Validation,Enterprise Library,我已经使用验证应用程序块创建了自定义验证程序。工作正常。 但是如何为同一验证器提供设计时支持。我必须在Enterprice库配置应用程序控制台中使用此自定义验证器 怎么做 这是自定义验证程序代码 [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] public class StringIsNullOrEmptyAttribute : ValueValidatorAttribute { protecte

我已经使用验证应用程序块创建了自定义验证程序。工作正常。 但是如何为同一验证器提供设计时支持。我必须在Enterprice库配置应用程序控制台中使用此自定义验证器 怎么做

这是自定义验证程序代码

 [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.";
        }
    }
}
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
公共类StringIsNullOrEmptyAttribute:ValueValidatorAttribute
{
受保护的覆盖验证程序DoCreateValidator(类型targetType)
{
返回新的StringIsNullOrEmpty(this.MessageTemplate,this.Negated);
}
}
公共类StringIsNullOrEmpty:ValueValidator
{
public StringIsNullOrEmpty(string messageTemplate,bool否定)
:base(messageTemplate,null,否定)
{
}
受保护的重写void DoValidate(字符串objectToValidate、对象currentTarget、字符串键、ValidationResults ValidationResults)
{
if(string.IsNullOrEmpty(objectToValidate)!=Negated)
{
LogValidationResult(validationResults,GetMessage(objectToValidate,键),currentTarget,键);
}
}
受保护的重写字符串DefaultNegatedMessageTemplate
{
得到
{
return“字段不能有值。”;
}
}
受保护的重写字符串DefaultNonNegatedMessageTemplate
{
得到
{
return“字段为必填项。”;
}
}
}

我从CodePlex得到了答案。这里是链接

苏凯什·钱德