Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Валидация данных на сервере и клиенте - как? / 19 сообщений из 19, страница 1 из 1
18.10.2010, 14:54
    #36905276
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Люди подскажите кто как поступает:
Допустим есть класс с 2 полями:
Код: plaintext
1.
2.
3.
4.
MyClass
{
public string Name {get;set;}
public int CityId {get;set;}
}

Я его передаю с помощью Silverlight enabled wcf service со всеми полагающимися методами (Insert, Delete, Update, GetById...)

Предположим так-же что логика приложения требует чтоб длина имени была бы не <1 and > 10
a CityId существовал бы в базе данных. т.е. мой сервис при update, insert проверяет эти ограничения.

как осуществить валидацию только тех данных, которые не зависят от баз данных и т.д. в моем случае только имени? ( причем в случае изменения логики валидации, хочется менять ее только в одном месте)

С уважением, Ашот.
...
Рейтинг: 0 / 0
18.10.2010, 14:56
    #36905285
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
авторменять ее только в одном месте
нужно переходить на WCF RIA Services. по-другому, скорее всего никак

авторвалидацию только тех данных, которые не зависят от баз данных
WCF RIA это умеет
...
Рейтинг: 0 / 0
18.10.2010, 15:11
    #36905359
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестник,
Ria на сколько я понял работает только с sql а у нас oracle
т.е. там надо adoEntity гонять........ что с Oracle несовместим.........
...
Рейтинг: 0 / 0
18.10.2010, 15:22
    #36905386
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
RIA работает с чем угодно. из коробки он (она? они?) работает с EF, который вроде поддерживает оракл. к нему есть ria toolkit, который поддерживает l2sql.

ручками можно сделать вообще все, что угодно. примеры тут в секции Sources of Data
...
Рейтинг: 0 / 0
18.10.2010, 15:24
    #36905393
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
вы, случайно, не системой рассылки смс-ок занимаетесь?
...
Рейтинг: 0 / 0
18.10.2010, 15:35
    #36905431
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестник,

Нет, пишем корпоративное приложение!
...
Рейтинг: 0 / 0
18.10.2010, 15:41
    #36905455
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестник,
Спасибо за ссылку, посмотрю.

А как на счет такого варианта:
Методы сервиса, отвчающие за сохранение объектов в базе предварительно будут проверять валидность объектов и сохранять сообщения об ошибках в свойстве самого объекта - Dictionary<string, string> Errors
и отправлять обратно объект с ошибками. а в клиенте расширить объект (он же partial) и реализовать интерфейс INotifyDataErrorInfo который пользует коллкцию Errors?.............. реально?
...
Рейтинг: 0 / 0
18.10.2010, 16:02
    #36905525
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
реально, только для проверки длины имени или формата даты совсем не обязательно гонять запросы на сервер
...
Рейтинг: 0 / 0
18.10.2010, 16:15
    #36905568
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестник,

Я сознательно иду на увеличение кол-ва обращений на сервер ради "концентрации" логики валидации в одном месте...
...
Рейтинг: 0 / 0
18.10.2010, 16:22
    #36905593
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
я вам уже писал, что ria умеет один раз написанным кодом валидировать как на на сервере, так и на клиенте, причем без обращения к серверу. это просто совет, вы можете его проигнорировать
...
Рейтинг: 0 / 0
18.10.2010, 16:35
    #36905640
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестникя вам уже писал, что ria умеет один раз написанным кодом валидировать как на на сервере, так и на клиенте, причем без обращения к серверу. это просто совет, вы можете его проигнорировать

риа просто копирует код валидации с сервера на клиент. но там подводные камни, если к примеру проверка поля зависит от базы данных то на клиенте это не прокатит. соответственно надо будет различать 2 типа валидации "простая" клиентская (required, length, regexp... ) и серверная (Foreign Key, остаток на счету ............ вобщем все что связанно с базой ) далее построить дело так, чтоб первый тип валидации копировался на клиент а второй нет..........

я не поспорить хотел, а объяснить почему варианты типа "риа" не катят, и узнать есть ли другие
варианты.......

Вобщем-то убедился что мой вариант с "server only" валидацией возможен.

Спасибо всем.
...
Рейтинг: 0 / 0
18.10.2010, 16:52
    #36905683
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Вестник
Официально EF пока еще не поддерживает оракуль. Бета провайдер от оракуля будет к концу года.
...
Рейтинг: 0 / 0
18.10.2010, 17:16
    #36905750
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
есть провайдеры от сторонних компаний
...
Рейтинг: 0 / 0
18.10.2010, 17:37
    #36905812
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Компаний даже? Линк в студию.
...
Рейтинг: 0 / 0
18.10.2010, 17:51
    #36905861
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
http://www.devart.com/dotconnect/oracle/
...
Рейтинг: 0 / 0
18.10.2010, 17:52
    #36905870
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
http://www.devart.com/dotconnect/entityframework.html
...
Рейтинг: 0 / 0
18.10.2010, 18:02
    #36905899
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
Ок.

P.S. Не вижу смысла в подобном зоопарке, тем более платном.
P.S2. Для кросс СУБД решений юзаю бесплатную NHibernate, отлаженную столетиями и зарекомендовавшую себя на рынке. Для сиквел решений - EF 4.0 (новых) / Linq 2 SQL (старых).
...
Рейтинг: 0 / 0
18.10.2010, 22:43
    #36906237
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
karapetyan_aя не поспорить хотел, а объяснить почему варианты типа "риа" не катят, и узнать есть ли другие
варианты.......



Другие варианты есть - в CSlA возможны оба.
РИА не катят по другой причине - в SL обязательно нужна модульность, а с этим проблемы
...
Рейтинг: 0 / 0
18.10.2010, 23:45
    #36906294
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных на сервере и клиенте - как?
в ria services можно писать CustomValidator и совать туда что душе угодно, хоть генную проверку туда загоните.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Валидация данных на сервере и клиенте - как? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]