Como os erros do servidor são tratados no padrão Post / Redirect / Ge

Para o caso de uso bem-sucedido, o fluxo de trabalho Publicar / Redirecionar / Obter (PRG) é bastante simples: basta redirecionar (lado do cliente) para a página desejada. Mas e nos casos em que erros são encontrados durante a validação no servidor e queremos preservar as entradas quando exibirmos a página de entrada novament

Até onde sei, existem duas abordagens: simplesmente renderize novamente a página de entrada após o envio do formulário POST (ou seja, sem redirecionamento) durante erros (desconsiderando assim o padrão PRG); ou, redirecione para a página de entrada e armazene as entradas anteriores em algum lugar em que possa ser recuperada mais tarde (por exemplo, sessão) durante a renderização. Ambos têm desvantagens: no primeiro, nos são apresentados os problemas que o padrão PRG nos ajuda a evitar (por exemplo, possibilidade de marcar favoritos, envio duplo); a segunda abordagem leva a GETs inconsistentes (o primeiro GET encontrará as entradas armazenadas, os GETs subsequentes podem não). Existem outras alternativas para as mencionadas aqui? Espero receber contribuições da comunidade sobre como esse caso é melhor tratado.