|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Всем доброго дня. Каким способом проверять данные, введенные пользователем: ValidatiionRules, IDataErrorInfo, комбинацией обоих ...? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 16:42 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Зависит от задачи и предпочтений. Я ValidationRules использую... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2012, 05:34 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Алексей К, Задача - стандартное LOB приложение. Предпочтений - пока никаких, думаю по какому пути пойти. МакДональд в своей книге делает акцент на ValidatiionRules, Джош Смит - на IDataErrorInfo. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2012, 09:31 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Nicky_NЗадача - стандартное LOB приложение.Всё равно, что задача - написать программу для компьютера. :-) Nicky_NПредпочтений - пока никаких, думаю по какому пути пойти. МакДональд в своей книге делает акцент на ValidatiionRules, Джош Смит - на IDataErrorInfo.Пробуй оба способа, выбирай что больше понравится. Оба подхода имеют свои плюсы и минусы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2012, 10:04 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Алексей КПробуй оба способа, выбирай что больше понравится. Оба подхода имеют свои плюсы и минусы. ок. а какой имеет больше плюсов?) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2012, 10:26 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Nicky_N, Есть поговорка. Не бывает плохих машин, бывает неправильный выбор. Это ваша задача, оценить что подходить под ваш стиль. На форуме ее за вас (правильно) не решат. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2012, 10:55 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
вот, кстати, нашел в одном блоге: The binding engine follows the following logic during the validation process: 1. Evaluate all the custom validation rules (but not the ExceptionValidationRule or the DataErrorValidationRule). If one or more of the custom rules fails, then stop and mark the value as invalid. 2. Call the setter. If this throws an exception, and if the ExceptionValidationRule was enabled, then stop and mark the value as invalid. 3. If the DataErrorValidationRule was enabled, check the IDataErrorInfo for the property. If this indicates an error, then stop and mark the value as invalid. 4. Mark the value as valid. Поэтому, мысль такая: Проверку преобразования типов (напр., чтоб в int поле было число, а не набор букв) поместить в custom validation rules. Их можно применять для всего UI. Бизнес-правила (напр., чтобы значение поля попадало в опред. диапазон) реализовать с помощью IDataErrorInfo, тем более что проверка вызывается в последнюю очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 11:58 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Nicky_NАлексей КПробуй оба способа, выбирай что больше понравится. Оба подхода имеют свои плюсы и минусы. ок. а какой имеет больше плюсов?)Тут недостатки одного являются преимуществами другого. Так что поровну. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2012, 12:38 |
|
Проверка данных: какой способ выбрать?
|
|||
---|---|---|---|
#18+
Nicky_NПроверку преобразования типов (напр., чтоб в int поле было число, а не набор букв) поместить в custom validation rules. По-моему, лучше использовать сразу нормальные контролы. Например, для ввода чисел использовать не голые текстбоксы, а какие-нибудь спиннеры (двунаправленные счётчики). А в них уже будет логика преобразования строк в числа. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2013, 16:48 |
|
|
start [/forum/topic.php?fid=21&msg=37934847&tid=1441446]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 323ms |
total: | 481ms |
0 / 0 |