ASP.NET MVC: Validar campo a partir de outro
Oi, galera.
Estou usando Entity Framework e ASP.NET MVC. Para validar os campos eu uso Data Annotations. Porém, agora estou precisando validar um campo a partir do outro e não estou conseguindo fazer com anotações. Por exemplo, preciso de algo assim:
Mas isso não é possível. Alguém já teve um cenário assim?
Estou usando Entity Framework e ASP.NET MVC. Para validar os campos eu uso Data Annotations. Porém, agora estou precisando validar um campo a partir do outro e não estou conseguindo fazer com anotações. Por exemplo, preciso de algo assim:
[Range(0, Double.MaxValue)]
public decimal ValorTotal { get; set; }
[Range(0, ValorTotal)]
public decimal DescontoTotal { get; set; }
Mas isso não é possível. Alguém já teve um cenário assim?
Rachel Andrade
Curtidas 0
Melhor post
Joel Rodrigues
27/07/2017
Oi, Rachel. Tudo bem?
As Data Annotations só podem fazer as validações a partir de valores estáticos como 0, Double.MaxValue, etc, por isso você não pode passar valores variáveis como DateTime.Today ou outra propriedade.
Para contornar esse problema sugiro usar a biblioteca FluentValidation. Inclusive recentemente lançamos um conteúdo em que usamos essa biblioteca: https://www.devmedia.com.br/exemplo/web-service-restful-com-crud-filtros-e-ordenacao-usando-asp-net-web-api/25
Abraço.
As Data Annotations só podem fazer as validações a partir de valores estáticos como 0, Double.MaxValue, etc, por isso você não pode passar valores variáveis como DateTime.Today ou outra propriedade.
Para contornar esse problema sugiro usar a biblioteca FluentValidation. Inclusive recentemente lançamos um conteúdo em que usamos essa biblioteca: https://www.devmedia.com.br/exemplo/web-service-restful-com-crud-filtros-e-ordenacao-usando-asp-net-web-api/25
Abraço.
GOSTEI 1
Mais Respostas
Rachel Andrade
26/07/2017
Bem legal, Joel. Obrigada pela ajuda. Eu não conhecia essa biblioteca e realmente achei bem fácil de usar nos testes que fiz. Vou fazer mais umas verificações, mas acho que me atende muito bem. =)
GOSTEI 0
Joel Rodrigues
26/07/2017
Isso aí, Rachel. Essa é uma biblioteca muito poderosa e flexível.
Ontem lançamos um curso especificamente sobre ela. Acredito que vai lhe ajudar: FluentValidation: Como validar dados em .NET
Ontem lançamos um curso especificamente sobre ela. Acredito que vai lhe ajudar: FluentValidation: Como validar dados em .NET
GOSTEI 0