Angular 2 – FormBuilder forms with multiple validation errors

In our recent Angular 2 form we had two pattern validation rules that overlapped in certain cases. However, we only wanted one validation error to be visible at a time. For a simplified example, one checks that a name contained the phrase “leftlobed” while the other validates that it contains “left” – checkout this Plunk to … More Angular 2 – FormBuilder forms with multiple validation errors

Flushing Sitecore Analytics data to storage

Under normal circumstances, in order for analytics data to make its way into your Sitecore Experience Profile Dashboard the user’s session needs to end. Usually you’d achieve this by “logging out” of the site or waiting for the timeout period specified by the “sessionState” element within your web.config. However, many sites don’t have a consumer log in/out functionality to manually … More Flushing Sitecore Analytics data to storage

Server-side validation with FluentValidation and AJAX

FluentValidation is an awesome library for doing model validation and its MVC component provides easy integration with jQuery.validate as well the unobtrusive counterpart. However, the client side capability of FluentValidation is presently limited to support for only a couple of validation rule types (there’s a small bullet list at the bottom of the first section). So… What are we … More Server-side validation with FluentValidation and AJAX

Estimating work effort… Lessons from an underestimator.

I’ll be the first to admit that my credentials at estimating aren’t always that brilliant… However, like all programmers: it’s part of our daily, or even hourly, lives. There are a few hard lessons that I’ve learnt though which hopefully help someone out there somehow. First, stick with what you know. If you can’t visualize … More Estimating work effort… Lessons from an underestimator.

Using an ASP.NET UpdatePanel behind a reverse proxy

After putting my ASP.NET web forms application that utilized UpdatePanels (and therefore the ASP.NET AJAX WebForms library) behind a reverse proxy, we found that all of our AJAX enabled content was coming up with the error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is … More Using an ASP.NET UpdatePanel behind a reverse proxy

Getting to know Entity Framework – Table Per Type (TPT) Inheritance

I’ve been using LINQ to SQL for quite sometime because until recently I’ve had little need for Entity Framework’s EDMX mappings because we’ve generally been content with one-to-one table to entity mappings that LINQ to SQL gives us. However, with the addition of a new module to our project that is close, but not quite … More Getting to know Entity Framework – Table Per Type (TPT) Inheritance

Gotcha – Implicit sitemap localization resx belong in App_GlobalResources

When providing a multi-lingual website you’re likely to want to translate your sitemap files for your menus, footer links, etc. I tend to store most of my translations using implicit localization techniques whereby you would put your resx in a relative App_LocalResources folder. However, when it comes to SiteMap localization don’t be fooled! They must all go … More Gotcha – Implicit sitemap localization resx belong in App_GlobalResources