2 votes

Le gestionnaire PreRegistrationHandler ne tombe pas en erreur sur le code d'erreur de la tâche

Je suis en train de mettre en place une validation sur un attribut de données personnalisé à travers le PreRegistrationHandler. Cela fonctionne parfaitement quand la validation est réussie.

Cependant, lorsque ce n'est pas le cas, le compte est créé quand même. Quand la validation échoue, je retourne un code de résultat de tâche égal à un, ce qui devrait le faire échouer.

PreRegistrationHandler = (context, cancellationToken) =>
        {
            var passesvalidation = DoesPassValidation(context); // évalué à faux
            if (!passesvalidation)
            {
                return Task.FromResult(1); // devrait échouer et ne pas créer le compte, mais le fait quand même
            }
            return Task.FromResult(0); // réussit
        }

Y a-t-il un code de retour non documenté que je devrais utiliser? J'ai vérifié ici: https://docs.stormpath.com/dotnet/aspnet/latest/registration.html#pre-registration-handler

1voto

Nate Barbettini Points 26922

Cette fonctionnalité fonctionne à partir de la version 0.9.0 du plugin Stormpath ASP.NET.

La syntaxe pour la validation en échec à l'intérieur du PreRegistrationHandler est la suivante :

PreRegistrationHandler = (context, cancellationToken) =>
{
    var passesvalidation = DoesPassValidation(context); // évalué à false
    if (!passesvalidation)
    {
        context.Result = new PreRegistrationResult()
        {
            Success = false,
            ErrorMessage = "No way, José!" // message de validation optionnel
        };

        return Task.FromResult(1); // la valeur retournée n'a pas d'importance
    }

    return Task.FromResult(0); // sans définir context.Result, le succès est présumé
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X