2010-03-22 8 views
8

J'ai récemment étudié des méthodes de création de formulaires Web pour une application Web ASP.NET pouvant être modifiée et gérée au moment de l'exécution. Par exemple, un administrateur peut souhaiter ajouter une nouvelle règle de validation ou un nouvel ensemble de champs. Le Saint-Graal fournirait un moyen de spécifier une forme avec des règles de validation arbitraires (potentiellement très complexes), et l'allocation de sources de données pour chaque champ. La spécification serait ensuite utilisée pour mettre à jour le formulaire déployé dans l'application Web, ce qui permettrait ensuite de valider les soumissions à la fois du côté client et côté serveur. Mes recherches m'ont conduit à Xforms et à un certain nombre de technologies qui le supportent. Une solution semble être IBM Lotus Forms, mais cela nécessite un très gros investissement en termes d'infrastructure, ce qui la rend infaisable, bien que le concepteur de formulaires puisse être utile en tant qu'outil autonome pour créer les formulaires. J'ai également réduit les plug-ins du navigateur car le formulaire doit être visible publiquement et compatible avec les navigateurs.Validation de formulaires XForms côté serveur et intégration dans ASP.NET

J'ai remarqué qu'il existe de nombreuses bibliothèques javascript qui fournissent des implémentations côté client en raison d'un schéma Xforms. Ceux-ci fourniraient une solution partielle mais la validation côté serveur est toujours une exigence.

Une autre option semble impliquer l'utilisation de solutions côté serveur telles que l'application Java Orbeon. Orbeon fournit un outil pour spécifier les formes (bien que pas aussi riche que Lotus Forms Designer), mais le point le plus intéressant est qu'il peut traduire un schéma XForms dans un formulaire XHTML complet avec validation. Le fait qu'il soit écrit en Java n'est pas un gros problème s'il est possible de l'intégrer avec l'application ASP.NET existante.

Donc, ma question est de savoir si quelqu'un a déjà fait cela auparavant. Cela ressemble à un problème qui aurait dû être résolu mais qui est intrinsèquement très complexe. Il semble possible d'utiliser un outil standard pour concevoir le formulaire et l'exporter vers un schéma Xforms et un formulaire xhtml, et il semble possible de prendre ce schéma xforms et de le former et de le publier en utilisant une bibliothèque côté client. Ce qui semble difficile est de fournir un moyen de valider la soumission du formulaire côté serveur et d'intégrer le processus avec .NET (bien qu'il semble que la communauté .NET ne soit pas impliquée avec XForms, veuillez me corriger si je me trompe sur ce compte).

Je serais plus qu'heureux si un produit fournissait quelque chose de simple comme un service Web qui pourrait valider une soumission par rapport à un schéma. Peut-être qu'Orbeon le fait, mais je serais reconnaissant si quelqu'un dans le savoir pouvait me diriger dans la bonne direction avant de poursuivre mes recherches.

Merci beaucoup.

+0

Bonne question. –

+0

@Nigel Je suis conscient que cette question a plus de 6 ans, mais en ce moment nous sommes dans le même endroit que vous l'avez décrit. Avez-vous eu une expérience ultérieure avec .NET et Orbeon, ou tout autre constructeur de formulaire dynamique? – veljkoz

Répondre

0

Je suis probablement manque quelque chose, mais ...

La façon dont je l'ai fait ce genre de chose dans la passe est de créer un schéma de formulaire de déclaration & un xslt pour convertir cette xml en html. Vous pouvez ensuite ajouter toutes sortes de validations, en fonction du schéma XML que vous avez conçu. Ce qui me manque habituellement, c'est le concepteur de formulaires.

0

Vous pouvez utiliser XHTML pour les formulaires ou, comme Simon l'a suggéré, un langage personnalisé en tant que couche d'abstraction. L'application peut charger le formulaire à l'exécution, le transformer/le styliser et le servir à l'utilisateur. Vous pouvez modifier le formulaire et apporter des modifications sans avoir à recompiler/redéployer.

Pour la validation, vous pouvez utiliser Schematron, qui peut également être facilement édité à l'exécution en utilisant des outils compatibles XML.

Vous pouvez utiliser Javascript pour produire des données XML dans le navigateur, ou vous pouvez transformer application/x-www-form-urlencoded en XML sur le serveur (c'est ce que je fais sur this page).

Questions connexes