Skip to content

for list of complex object its not validating. #19

Description

@shaikhazhar

I have used your Nuget package to use the your DataAnnotationsValidatorRecursive. Below is the simplified version of my code. I am not getting validation error for List although i am getting validation errors for ID. Please help.

public class Program
{
static void Main(string[] args)
{
var child = new Child();
var validationResults = new List();
child.clientAddress = new List { new MyAddress { Address1 = "", Address2 = "", Address3 = "", ZipCode = 0, State = "", City = "" } };

        child.BaseValidator = new DataAnnotationsValidator.DataAnnotationsValidator();
        child.BaseValidator.TryValidateObjectRecursive(child, validationResults);
        if (validationResults.Count > 0)
        {
            child.LogValidationResult(validationResults);
        }

}
}

public class Child: Base
{
[Required]
public int ID{ get; set; };

    [Required]
    public List<MyAddress> myAddress;

}

public class MyAddress {
[Required]
[StringLength(40)]
public string Address1 { get; set; }

    public string Address2 { get; set; }

    [Required]
    [StringLength(40)]
    public string Address3 { get; set; }

    [Required]
    [StringLength(9, MinimumLength = 5, ErrorMessage = "ZipCode minimum length is 5 and maximum length is 9.")]
    public int ZipCode;

    [Required]
    [StringLength(2)]
    public string State { get; set; }

    [Required]
    [StringLength(40, MinimumLength = 1, ErrorMessage = "city minimum length is 1 and maximum length is 40.")]
    public   string City{ get; set; }
}

public abstract class Base : IValidatableObject
{
public IDataAnnotationsValidator BaseValidator;

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        //TODO:loop the validation results

        throw new NotImplementedException();
    }


    public void LogValidationResult(List<ValidationResult> resultList)
    {
        //TODO: Log validation result.
    }
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions