效果如图
验证表单的关键是使用ValidationRule
,官方资料:ValidationRule 类、How to: Implement Binding Validation
继承ValidationRule实现验证类
public class LengLimitValidationRule: ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
string str = value as string;
if (str != null)
{
if (!CanBeNull && str.Length == 0)
{
return new ValidationResult(false, CanNotBeNullMessage);
}
if (str.Length >= MinLength && str.Length <= MaxLength)
{
return ValidationResult.ValidResult;
}
if (str.Length > MaxLength)
{
return new ValidationResult(false, string.Format(MaxLengthMessage, MaxLength));
}
if (str.Length < MinLength)
{
return new ValidationResult(false, string.Format(MinLengthMessage, MinLength));
}
}
else
{
if (CanBeNull)
{
return ValidationResult.ValidResult;
}
else
{
return new ValidationResult(false, CanNotBeNullMessage);
}
}
return new ValidationResult(false, CanNotBeNullMessage);
}
public bool CanBeNull { get; set; }
public long MinLength { get; set; }
public long MaxLength { get; set; }
public String MinLengthMessage { get