I ran into a problem where the CustomValidator OnServerValidate not Firing.
After a lot of trial-and-error checking, I found out, the problem was that it didn't tolerate the yellow brackets. No errors were thrown, which was very frustrating.
This is what didn't work, to make it work, all i had to do was move the error to the code-behind:
<asp:CustomValidator ID="DiscountCouponCodeValidator" runat="server"
ErrorMessage="<div class='blizz-form-field-row-err' style='padding:0 25px;width:325px;margin-left:20px;margin-top:-15'><%# RM.GetString("VALID_COUPON_ERROR") %>" OnServerValidate="ValidateCoupon"></asp:CustomValidator>