-br.com.rc.bd -> faz comunicação com a minhas base de dados;
-br.com.rc.bo -> modelo de negocios/ projeto de negocios;
-br.com.rc.dao -> camada de dml;
-br.com.rc.teste- > teste main;
-br.com.rc.transfer-> getters e setters;
-br.com.rc.ui -> projeto view para o usuario final
Queria que enviasse uma exceção limpa da minha BO para a minha UI. Mas está deste jeito:
Resumir, ja que a galera trabalha muito com o modelo - MVC
-br.com.rc.bd -> faz comunicação com a minhas base de dados;
-br.com.rc.bo -> modelo de negocios/ projeto de negocios;
-br.com.rc.dao -> camada de dml;
-br.com.rc.teste- > teste main;
-br.com.rc.transfer-> getters e setters;
-br.com.rc.ui -> projeto view para o usuario final
public class Customer
{
[ValidBirthDate(ErrorMessage = "Birth Date can not be greater than current date")]
public DateTime BirthDate { get; set; }
}
Validação:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public sealed class ValidBirthDate : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
DateTime _birthJoin = Convert.ToDateTime(value);
if (_birthJoin > DateTime.Now)
{
return new ValidationResult("Birth date can not be greater than current date.");
}
}
return ValidationResult.Success;
}
}
Eu to utilizando, por conta da produção!!!
Antes utilizada JSF. Mas como achei muito interessante ASP.NET, com razor.
Então eu migrei!
Sem falar no EF.
Achei interessante. Mas tenho que analisar, melhor. Já que no meu Model, ele não está no meu projeto UI. E Sim é o Transfer. Sem falar, que estou utilizando retorno de métodos com “n” atributos. Mas irei da uma olhada, em relação a está situação !
Se tiver com objetivo de se manter no mercado essas soluções mais caseiras não vão te agregar tanto. Normalmente usam mais data annotations do próprio .NET ou a biblioteca Fluent Validation, que é a melhor solução pra não ficar poluindo as propriedades com data annotations.
Mas o ruim é que com data annotations, o uso dos meus métodos irão por água “abaixooo”!
To analisando o artigo e irei da uma olhada no Fluent Validation. Por conhecimento e necessidade!
Ainda remontando minha classe BO de validação com o Fluent Validation.
Comecei a da uma olhada agora mesmo. Irei analisar como irá ficar as minhas recursividades.
Ainda iniciando o teste do projeto. Mas, com a ajuda do JavaFlex o mesmo me informou sobre o Fluent Validation. Tive que modificar o meu projeto, mas foi rápido. Ficando assim: