2017-01-11 11 views
0

今はnancyデータ注釈を使用してモデルを検証していますが、モデルが有効でない場合は、ビュー内でモデル状態にアクセスする方法がわかりません(Super Simple View Engineを使用)。ナンシーアクセスモデルの状態を表示

  Post("/register", async args => 
     { 
      ViewBag.ReturnUrl = Request.Query.returnUrl; 
      ViewBag.LoginProviders = _signInManager.GetExternalAuthenticationSchemes().ToList(); 

      var model = this.BindAndValidate<RegisterViewModel>(); 

      if (ModelValidationResult.IsValid) 
      { 
       var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; 
       var result = await _userManager.CreateAsync(user, model.Password); 

       if (result.Succeeded) 
       { 
        var adminUsers = await _userManager.GetUsersInRoleAsync("admin"); 
        if (!adminUsers.Any()) 
        { 
         if (!await _roleManager.RoleExistsAsync("admin")) 
         { 
          var roleResult = await _roleManager.CreateAsync(new IdentityRole 
          { 
           Name = "admin", 
           NormalizedRoleName = "admin" 
          }); 

          if (roleResult.Succeeded) 
          { 
           await _userManager.AddToRoleAsync(user, "admin"); 
          } 
         } 
         else 
         { 
          await _userManager.AddToRoleAsync(user, "admin"); 
         } 
        } 

        await _signInManager.SignInAsync(user, isPersistent: false); 
        Logger.LogInformation(3, "User created a new account with password."); 

        return Response.AsRedirect("~/"); 
       } 
      } 

      return View["register.html", model]; 
     }); 

モデルを検証した後にユーザーをレジスタビューに戻すと、そこにどのようにエラーにアクセスできますか?現時点でエラーを出力するためのヘルパーメソッドはないようですが、ビュー内のエラーにアクセスするために使用できる辞書があると思いました。ナンシーのポストバックでエラーを出力するための標準はどういうものですか?

答えて

1

modelではなく、ModelValidationResultをビューに戻す必要があります。

+0

私はちょうどそれをajaxリクエストに変更し、モデルの検証結果をそのように戻しました... –

関連する問題