Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Подарки от программис'тов

27.07.22 09:51
Re: Подарки от программис'тов
 
alex445 коренной житель
в ответ Murr 26.07.22 18:54

Почему ещё при её создании она не валидируется на длину?

----

А как?

Ну создали стринг... проверили - все Ок.

Ну добавили что-то полученное где-то... строку в процессе 5 раз пересоздали...

Будем проверять? Или ну его нах... в смысле нарушать инкапсуляцию нах...

Ну согласен. Или городить свой класс строк, которые бы имели встроенное ограничение (пусть задаваемое).


Но с этим ладно. А вот как сделать, чтобы к валидирующим значениям (типа макс. длина, границы чисел) можно было легко иметь доступ в любом месте приложения? В том числе в БД. Эти магические числа (string <= 20) в разных частях приложения - явно не то.


Похоже, нужна генерация. Где-то хранить данные по валидации, затем по ним генерировать таблицы БД (подгоняя туда ограничения по длинам, диапазонам и прочему), затем по ним же генерировать атрибуты для классов (которые тоже в свою очередь генерировать). Если без генерации, то минимум для каждой технологии придётся иметь хранилище валидирующих данных. Т.е. написал БД, затем пишешь модель на языке программирования, а валидацию в тех же атрибутах - просто копируешь из данных БД руками.

 

Перейти на