London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

´Validating Link Item

Vote:
 

Hi, 

I'm working in a validator for LinkItem. 
It does validate what I want and it works when I'm debugging it. 

However it does not work like it should in the CMS. 
Instead of showing my warning message, it displays a popup with this text: 

Could not save property. The page may have been changed by another user. Please reload the page.

It seems to be something with the scoping, I had the same issue with another validator for an Image block. That did work when the image block was standalone but not when the block was used as a property, and I guess it's the same with the LinkItem property. 

Here's how my validator is built:

public class LinkItemValidator : IValidate<LinkItem>
{
     public IEnumerable<ValidationError> Validate(LinkItem instance)
     {
           //bla bla bla check
            yield return new()
            {
                RelatedProperties = new[] { nameof(instance.Text) },
                ErrorMessage = "Error message",
                Severity = ValidationErrorSeverity.Warning,
                ValidationType = ValidationErrorType.Unspecified
            };
     }
}

Does anybody know how I can validate the text on LinkItem and other similar properties?  


Thanks.

#313347
Nov 29, 2023 11:55
Vote:
 

I have mostly used page or block instance to validate a specific property instead of proprety type instance itself. Looking at the code I believe yield is the issue here you may want to check. If you use this in the validate method it should work.

            var errorList = new List<ValidationError>();

            if (instance != null)
            {
                errorList.Add(new ValidationError
                {
                    ErrorMessage = $"Link item text is {instance.Text}",
                    Severity = ValidationErrorSeverity.Error
                });
            }

            return errorList

#313658
Edited, Dec 04, 2023 15:16
Vote:
 

Thanks for your response. 

Unfortunatey your suggestion throws the same error so there has to be something else that's off. 

#313696
Dec 05, 2023 7:13
Vote:
 

Hey oliaxe,

can you specify the major version of the CMS you are working with (and ideally update the thread's tags as well). I am still in the 11 world and suspect you are referring to version 12 since I found out it there it was made much simpler to work with LinkItem instances directly.

Best

#314080
Dec 12, 2023 10:31
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.