Я использую правила проверки для отображения пользовательских сообщений и 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, я имею в виду, что значение может быть нулевым или целым, но не неправильным вводом, таким как "5b".
Вопрос в том, когда он выдает эту ошибку (noIllegalChars = true), как я могу установить для свойства значение null?
РЕДАКТИРОВАТЬ: Причина, по которой я это делаю, заключается в том, что, когда пользователь оставил текстовое поле пустым (значение будет "") и технически, для свойства это нулевое значение, но он пытается установить "" в собственность.