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