2016-12-28 42 views
2

我想通过PreRegistrationHandler实现对自定义数据属性的验证。这在通过验证时效果很好。PreRegistrationHandler不失败任务错误代码

但是,如果没有,它会创建帐户。当验证没有通过时,我返回一个任务结果代码,使其失败。

PreRegistrationHandler = (context, cancellationToken) => 
     { 
      var passesvalidation = DoesPassValidation(context); // evals to false 
      if (!passesvalidation) 
      { 
       return Task.FromResult(1); //should fail and not create account, but does anyway 
      } 
      return Task.FromResult(0); // passes 
     } 

是否存在我应该使用的未记录的返回码?我在这里检查过:https://docs.stormpath.com/dotnet/aspnet/latest/registration.html#pre-registration-handler

+0

大问题,顺便说一句。对不起,它尚未提供;这是我的路线图。 PR也总是被接受。 :) –

+0

供参考:现在更新我的答案,此功能已发布。 –

回答

1

此功能从Stormpath ASP.NET插件的version 0.9.0起生效。

未能在PreRegistrationHandler的内部验证的语法是:

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

     return Task.FromResult(1); // returned value doesn't matter 
    } 

    return Task.FromResult(0); // without setting context.Result, success is assumed 
} 
相关问题