Недавно я реализовал простой движок динамических форм, который использует динамически загружаемые элементы управления ASP.NET в сочетании со схемой EAV для обработки переменной природы модели данных.Некоторое время бизнес был достаточно удовлетворен конечным продуктом, но теперь требует гораздо более сложных динамических форм:
- Видимость полей связана со значениями других полей формы
- Список раскрывающихся возможных значений, привязанных к состоянию других полей формы
- Применение различных бизнес-правил в форме: т.е. значение FieldA должно быть не больше, чем FieldX + 30 дней, при условии, что FieldX не равно нулю, блабла
- Другие сложные межполевые зависимости и бизнес-правила
Как вы можете себе представить, я ищу готовое решение, поскольку запуск такого двигателя с нуля кажется утомительным,трудоемкий и не совсем часть нашего основного бизнеса.В идеале мне нужна полная платформа ASP.NET (MVC или WebForms), охватывающая все уровни (бизнес-логика, уровень представления и постоянство).Однако нищие не могут быть выбирающими, поэтому я бы обошелся со структурой, которая касается только определения и оценки бизнес-правил.Кроме того, я ищу строго серверное решение, так как мои руки связаны строгой политикой, которая запрещает любую зависимость от клиентских плагинов.
XForms кажутся идеальными, но единственные зрелые реализации, которые я нашел, основаны на Java (Orbeon) или Django (Chiba).Другие реализации XForms, которые я обнаружил, имеют некоторую зависимость от плагинов на стороне клиента.
Я открыт для использования Orbeon, если смогу найти способ его интеграции с приложением ASP.NET, но я не вижу реальных примеров такой гибридной реализации.
Я кратко посмотрел на Microsoft Office InfoPath, но он не выглядит достаточно надежным для обработки сложных сценариев, которые мне нужно реализовать.
Все идеи приветствуются!