我使用验证应用程序块创建了自定义验证器。它工作正常。但是如何为同一个验证器提供设计时支持。我必须在 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.";
}
}
}