public virtual IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var result = new List <ValidationResult>(); if (Id != null && !Id.IsAbsoluteUri) { result.Add(FhirValidator.BuildResult(validationContext, "Entry id must be an absolute URI")); } if (Bundle.UriHasValue(SelfLink) && !SelfLink.IsAbsoluteUri) { result.Add(FhirValidator.BuildResult(validationContext, "Entry selflink must be an absolute URI")); } if (Links.FirstLink != null || Links.LastLink != null || Links.PreviousLink != null || Links.NextLink != null) { result.Add(FhirValidator.BuildResult(validationContext, "Paging links can only be used on feeds, not entries")); } if (Tags != null && validationContext.ValidateRecursively()) { FhirValidator.TryValidate(Tags, result, true); } return(result); }
public virtual IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var result = new List <ValidationResult>(); if (!Bundle.UriHasValue(Id)) { result.Add(new ValidationResult("Entry must have an id")); } else if (!Id.IsAbsoluteUri) { result.Add(new ValidationResult("Entry id must be an absolute URI")); } if (Bundle.UriHasValue(SelfLink) && !SelfLink.IsAbsoluteUri) { result.Add(new ValidationResult("Entry selflink must be an absolute URI")); } if (Links.FirstLink != null || Links.LastLink != null || Links.PreviousLink != null || Links.NextLink != null) { result.Add(new ValidationResult("Paging links can only be used on feeds, not entries")); } if (Tags != null) { result.AddRange(new TagList(Tags).Validate(validationContext)); } return(result); }