示例#1
0
        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);
        }
示例#2
0
        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);
        }