Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 45361|Resposta: 1

[ASP.NET] ASP.NET Validação unificada do modelo ModelState do filtro Core(4)

[Copiar link]
Postado em 13-03-2021 20:48:05 | | | |
As anotações de estado do modelo e de dados em C# nos oferecem uma maneira conveniente de solicitar a verificação dos dados. A verificação do modelo ModelState simplesmente significa ajudar o backend a economizar muito trabalho de verificação de parâmetros, basta adicionar funcionalidades correspondentes ao modelo e, finalmente, chamar o ModelState.IsValid no controlador para obter os resultados da verificação. Sem o ModelState, nossa validação de parâmetros backend pode precisar escrever muitos julgamentos if.

Requisitos: Julgamos se os parâmetros do POST passaram pela verificação do modelo no filtro, se não passarem pela verificação, retornamos diretamente uma mensagem de erro json unificada, somente após a verificação passar, e então entramos no método controlador, a vantagem disso é,Não precisamos julgar cada controle e fazer trabalho repetitivo

Revise a validação do modelo ModelState

Validação de modelos webapi ModelState.IsValid
https://www.itsvse.com/thread-3809-1-1.html

Validar manualmente os campos do modelo ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Validação de Dados do Modelo Principal
https://www.itsvse.com/thread-9016-1-1.html

Filtros de revisão

Classe ActionFilterAttribute filtro personalizado mvc

https://www.itsvse.com/thread-2609-1-1.html

Revise seu conhecimento sobre ASP.NET Core

ASP.NET Core (iii) Criar instâncias dinamicamente usando ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Núcleo (2) Reiniciar a aplicação por código
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) usa cache Redis
https://www.itsvse.com/thread-9393-1-1.html

O sistema predefine o ValidationAttribute
Um conjunto de características de validação que herdam do ValidationAttribute é definido no namespace System.ComponentModel.DataAnnotations.

  • RequiredAttribute: Usado para validar os campos de dados necessários.
  • RangeAttribute: Usado para verificar se o valor de um campo numérico está dentro do intervalo especificado.
  • StringLengthAttribute: Usado para verificar se o comprimento da string do campo alvo está dentro do intervalo especificado.
  • MaxLengthAttribute/MinLengthAttribute: Usado para verificar se o comprimento do dicionário de caracteres/array é menor ou maior que o limite superior/inferior especificado.
  • RegularExpressionAttribute: Usado para verificar se o formato do campo string corresponde à expressão regular especificada.
  • CompareAttribute: Usado para verificar se o valor do campo alvo é consistente com o valor de outro campo, e pode ser usado para confirmar a consistência de digitar a senha duas vezes em um cenário de registro de usuário.
  • CustomValidationAttribute: Especifica um tipo de validação e um método de validação para validar o membro alvo.



Claro, também podemos definir as regras de validação herdando a classe ValidationAttribute e implementando o método correspondente.

Vamos dar uma olhada nas renderizações primeiro, a mensagem de erro é retornada pela interface em segundo plano, da seguinte forma:



Código do Modelo de Objeto:

Código do filtro ModelStateFilter:



O código do IsAjaxRequest é o seguinte:

Por fim, adicione um filtro personalizado ao arquivo de inicialização, cujo código é o seguinte:



(Fim)




Anterior:HtmlAgilityPack analisa dicas de HTML para rollups
Próximo:O .NET Core chama o Baidu PaddleOCR para reconhecer imagens e textos
Postado em 2021-9-22 20:40:25 |
Aprenda a aprender...
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com