2017-09-11 1 views
2

Je viens de commencer à examiner Azure Functions et l'une de mes plus grandes préoccupations est actuellement la validation.Validation des fonctions Azure Opérations CRUD

Je n'ai vraiment examiné les opérations CRUD que jusqu'à présent, mais il ne semble pas y avoir un moyen de valider facilement les données provenant de la requête ou du stockage. J'ai trouvé poco-validation et j'ai pensé que cela pourrait être utile.

Je sais que c'est une question ouverte et un peu ouverte, mais je serais intéressé de voir ce que les autres faisaient pour la validation.

+0

Pouvez-vous clarifier plus au sujet de votre condition? Si vous souhaitez valider le format de données et de données non nulles (numéro de téléphone et e-mail, etc.), vous pouvez essayer d'utiliser des expressions régulières pour valider vos données en fonction de vos besoins. –

+0

Eh bien, j'ai commencé à ajouter des attributs de liaison et de validation de modèle, mais cela semble être beaucoup de code pour ce qu'il fait. L'autre façon est de sortir l'objet de la requête de la façon dont il est dans le template puis de le valider avant de l'assigner à une variable. C'est correct, mais ne semble pas être très sec. –

Répondre

2

Nous avons récemment ajouté Function Filters au SDK WebJobs sous-jacent, mais cette fonctionnalité n'est pas encore complètement exposée dans les fonctions Azure (voir le numéro here). En relation avec cela, nous envisageons également la prise en charge des annotations de validation à appliquer à vos types POCO (numéro here).

Jusqu'à ce que les questions ci-dessus sont abordées, nous nous rendons compte que l'histoire pour la validation n'est pas géniale. L'approche recommandée consiste à effectuer la validation requise dans votre code de fonction en appelant les aides/codes de validation partagés, si nécessaire.

+0

Merci pour cette info. Alors pensez-vous à ajouter dans la validation d'une manière similaire à celle de MVC? –

+0

Dans le même sens, oui. Si vous avez des suggestions/commentaires n'hésitez pas à partager avec nous sur github. – mathewc