#.net #linq-to-sql
#.net #linq-to-sql
Вопрос:
Каждый OnValidate
пример, который я, кажется, вижу, по существу доступен только для чтения (проверка значений и выдача исключений). Я хотел бы сделать еще один шаг и изменить значения (где возможно однозначное исправление) как часть процесса проверки. Является OnValidate
ли обратный вызов слишком поздним в конвейере для внесения изменений (без нарушения других предположений)? или иным образом не рекомендуется?
Для (надуманного) примера предположим, что я должен был обрезать пробелы или объединить нулевые строки в пустые строки OnValidate
.
Ответ №1:
Думаю, это зависит от того, как вы хотите, чтобы это работало для пользователя.
Возможно, вы могли бы сделать это при изменении значения (textchanged и т. Д.) Или Когда элемент теряет фокус.
Я думаю, OnValidate предназначен для отображения общего резюме.
Лично я бы предпочел, чтобы «отображалась моя ошибка, но я вношу изменения, чтобы исправить ее».. например, предиктивный текст на мобильных телефонах, который автоматически корректируется, часто ошибочен, но, может быть, я просто набираю смешно.