Включение проверки в настройки приложения - PullRequest
0 голосов
/ 30 августа 2010

Я ищу примеры проверки на основе конфигурации с использованием блока приложения проверки.Я нашел это

Я хочу спросить, есть ли у кого-нибудь альтернативное решение для использования EL VAB 5.0 для достижения проверки на основе конфигурации.Я начал с DataAnnotations, но вскоре обнаружил, что некоторые свойства будут нуждаться в разных типах проверки в зависимости от того, кто использует приложение.

Также, если у кого-то есть больше примеров для конфигурации с VAB и любые советы относительно того, что мне нужноможет столкнуться, пожалуйста, поделитесь.

1 Ответ

0 голосов
/ 31 августа 2010

Есть несколько путей, чтобы достичь этого.Прежде всего вы можете (ab) использовать для этого наборы правил.Вы можете создать «базовый» набор правил с правилами, которые действуют для всех, и вы можете создать набор правил для каждой роли в системе и, возможно, даже набор правил для пользователя, но, конечно, это будет громоздко.быть для реализации IConfigurationSource, которая может возвращать экземпляр ValidationSettings, основываясь на зарегистрированном пользователе.Теперь есть несколько способов создать объект ValidationSettings.Вот несколько примеров:

  1. Вы можете загрузить несколько файлов конфигурации с диска, используя FileConfigurationSource в зависимости от роли.Что-то вроде: return (new FileConfigurationSource('validation_' + role + '.config')).GetSection(sectionName);
  2. Вы можете динамически создавать экземпляры ValidationSettings (и кэшировать их).Вы можете сохранить это определение в базе данных и загрузить их (это будет много работы) или определить их в коде (возможно, разделенном сборкой). Вот пример конфигурации на основе кода.

Кроме того, чтобы избежать дублирования частей вашей конфигурации, вы можете сделать следующее:

  1. Объедините несколько конфигураций вместе.Например, вы можете объединить проверку базовой линии с проверкой конкретной роли.Это избавляет вас от необходимости ручной проверки в соответствии с базовой линией и повторной проверки для проверки конкретной роли.Хотя это не поддерживается "из коробки", я написал о том, как это сделать, в своем блоге здесь .
  2. Вы можете объединять правила на основе наследования типов.Хотя VAB поддерживает только наследование валидатора для валидации на основе атрибутов, я написал об этом в своем блоге: здесь .

Надеюсь, это поможет.

...