Open luisrjbr opened 6 years ago
Qual é sua versão o FluentValidator?
A ultima versão já existe um tratamento para os HasMaxLen, para esse tipo de situação.
Mas caso não possa atualizar a versão do seu FluentValidator ou continue dando o erro, você pode usar essa abordagem para corrigir o problema:
.HasMaxLen((Name ?? ""), 100, "Name", "Mensagem")
Estava com esse mesmo problema na 1.0.2 atualizei para a 1.0.3 e está resolvido.
https://www.nuget.org/packages/Flunt/
Boa tarde! Quando utilizo o HasMaxLen e a propriedade está nula ocorre o erro: System.NullReferenceException: 'Object reference not set to an instance of an object.':
protected override IEnumerable<Notification> Validations() { return new ValidationContract() .Requires() .IsNotNullOrEmpty(Name, "Name", "Nome não deve ser nulo") .HasMaxLen(Name, 100, "Name", "Máximo de 100") .Notifications; }
Para que o erro não ocorra devo testar se é nula a string: protected override IEnumerable Validations() { return new ValidationContract() .Requires() .IsNotNullOrEmpty(Name, "Name", "Nome não deve ser nulo") .HasMaxLen(Name == null ? "" : this.Name, 100, "Name", "Máximo de 100") .Notifications; }
Está correta a forma de implementar? Obrigado
Estava com esse mesmo problema na 1.0.2 atualizei para a 1.0.3 e está resolvido.
Boa tarde! Quando utilizo o HasMaxLen e a propriedade está nula ocorre o erro: System.NullReferenceException: 'Object reference not set to an instance of an object.':
Para que o erro não ocorra devo testar se é nula a string: protected override IEnumerable Validations()
{
return new ValidationContract()
.Requires()
.IsNotNullOrEmpty(Name, "Name", "Nome não deve ser nulo")
.HasMaxLen(Name == null ? "" : this.Name, 100, "Name", "Máximo de 100")
.Notifications; }
Está correta a forma de implementar? Obrigado