/// <summary> /// Validate the model /// </summary> /// <param name="context">the validation context</param> /// <returns></returns> public IEnumerable <ValidationResult> Validate(ValidationContext context) { var localizedResourceServices = HostContainer.GetInstance <ILocalizedResourceServices>(); if (_pageServices.IsTitleExisted(Id, Title)) { yield return(new ValidationResult(localizedResourceServices.T("AdminModule:::Pages:::ValidationMessages:::ExistingTitle:::Title is existed."), new[] { "Title" })); } FriendlyUrl = string.IsNullOrWhiteSpace(FriendlyUrl) ? Title.ToUrlString() : FriendlyUrl.ToUrlString(); if (_pageServices.IsFriendlyUrlExisted(Id, FriendlyUrl)) { yield return(new ValidationResult(localizedResourceServices.T("AdminModule:::Pages:::ValidationMessages:::ExistingFriendlyUrl:::Friendly Url is existed."), new[] { "FriendlyUrl" })); } /*Can only choose 1 type of template*/ if (PageTemplateId.HasValue && FileTemplateId.HasValue) { yield return(new ValidationResult(localizedResourceServices.T("AdminModule:::Pages:::ValidationMessages:::MultipleTemplate:::You can only choose 1 type of template."), new[] { "PageTemplateId", "FileTemplateId" })); } }