Lee Crowe
Jun 26, 2012
  2832
(0 votes)

ElencySolutions.MultipleProperty v1.6 Released

A new version of my multiple property assembly is now available.

New Features

You are now able to add custom validation to singular or collection based entity properties.

Making use of the new validation functionality

Two new virtual methods have been added to the MultiplePropertyBase class.  These methods are named ValidateEntity and ValidateEntities.  Example validation code is below:

public class PropertyGalleryImages : MultiplePropertyBase<GalleryImages, GalleryImage>
{
     public override string ValidateEntity(GalleryImage entity)
     {
         if (entity == null)
             return string.Empty;
         if (!entity.LinkUrl.StartsWith("http"))
            return "A link URL must start with http";
     }
 }

 

public class PropertyGalleryImages : MultiplePropertyBase<GalleryImages, GalleryImage>
{
     public override string ValidateEntities(GalleryImages entities)
     {
         if (entities == null)
             return string.Empty;
         StringBuilder errorMessage = new StringBuilder();
         for (int i = 0; i < entities.Count; i++)
         {
            GalleryImage galleryImage = entities[i];
            if (!galleryImage.LinkUrl.StartsWith("http"))
               errorMessage.AppendFormat("Item {0} link url is invalid, ", i + 1);
         }
		  
         return errorMessage.ToString().TrimEnd(“, “);
      }
 }

Installation

The easiest way to install the assembly is by installing it from the EPiServer nuget feed (once it has been made available).  But if you are not down with the cool kids you can download it from codeplex.  The assembly is built for EPiServer CMS 6 and onwards.

On the codeplex site you can also find some useful documentation and example code to get you familiar with what the property offers.  The example code is dependent on PageTypeBuilder.

Feedback

As always feedback is greatly appreciated, if you have any suggestions for new features or changes I am happy to hear them.

Just twitter me @croweman or send me an email.

Jun 26, 2012

Comments

Please login to comment.
Latest blogs
Optimizely community meetup - Sept 29 (virtual + Melbourne)

Super excited to be presenting this Thursday the 29th of September at the Optimizely community meetup. For the full details and RSVP's see the...

Ynze | Sep 27, 2022 | Syndicated blog

Preview multiple Visitor Groups directly while browsing your Optimizely site

Visitor groups are great - it's an easy way to add personalization towards market segments to your site. But it does come with it's own set of...

Allan Thraen | Sep 26, 2022 | Syndicated blog

The Report Center is finally back in Optimizely CMS 12

With Episerver.CMS.UI 12.12.0 the Report Center is finally re-introduced in the core product.

Tomas Hensrud Gulla | Sep 26, 2022 | Syndicated blog

Dynamic Route in ASP.NET Core When MapDynamicControllerRoute Does Not Work

Background Creating one of the add-on for Optimizely I had to deal with challenge to register dynamically route for the API controller. Dynamic rou...

valdis | Sep 25, 2022 | Syndicated blog

404 Error on Static Assets Within an Optimizely plugin

Background With the move to CMS 12 and .NET 5/6, developers are now able to build Plugins and Extensions using Razor Class Libraries (RCL).  These...

Mark Stott | Sep 23, 2022

How to bypass the content creation view in Optimizely

Something that has come up a couple of times in the last few year is feedback from content editors about the editing view that comes up when creati...

Ynze | Sep 23, 2022 | Syndicated blog