2016-12-28 129 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 
} 
相關問題