public IActionResult OnPost() { gameState = persistenceService.LoadBoard(Game); var moveValidator = new ChessMoveValidator(gameState, Step); moveValidator.Validate(); foreach (var error in moveValidator.GetAllErrors()) { ModelState.AddModelError("step", error); } if (!ModelState.IsValid) { return(Page()); } moveValidator.MakeMove(); persistenceService.SaveBoard(Game, gameState); return(Page()); }