我使用验证规则来显示自定义消息,并使用 INotifyDataError 来显示业务规则。
这是我的代码的一部分:
public class ResponseValidation : ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
int? response;
bool noIllegalChars = TryParseStruct<int>(value.ToString(), out response);
if (!noIllegalChars)
{
return new ValidationResult(false, "Input is not in a correct format.");
}
else
{
value = null;
return new ValidationResult(true, null);
}
}
...
}
验证是针对 Nullable 数据类型的,我的意思是该值可以是 null 或整数,但不能是像“5b”这样的不正确输入。
问题是当它产生这个错误(noIllegalChars = true)时,我如何将属性设置为null?
编辑:我这样做的原因是,当用户将文本框留空(值将是“”)时,从技术上讲,对于为空值的属性,但它试图将“”设置为属性。