Skip to content

for list of complex object its not validating. #19

@shaikhazhar

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.
    }
}

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