我需要在我的电子邮件字段中添加验证,以检查输入的电子邮件是否在列入黑名单的域中,并且需要显示针对不同域的自定义消息(例如,对于gmail.com,它会显示“个人电子邮件为不允许。”对于.gov,它会说“不允许使用政府电子邮件,诸如此类)。
我已经在Sitecore中创建了BaseValidator项并将其链接到我的自定义代码:
namespace Example.Library.WebForms.Validators
{
class EmailValidation : FormCustomValidator
{
protected override bool OnServerValidate(string value)
{
var blacklistFolder = Sitecore.Context.Database.GetItem(SiteConstants.BlacklistFolder);
var domains = blacklistFolder.Axes.GetDescendants().Select(x => x.GlassCast<IRestricted_Domain>());
foreach (var dom in domains)
{
var domain = dom.Domain;
if (value.ToLower().EndsWith(domain.ToLower()))
{
// set error message to custom error message
var typeItem = Sitecore.Context.Database.GetItem(dom.Type);
if (typeItem == null) return false;
var type = typeItem.GlassCast<IRestricted_Domain_Type>();
var error = type.Error_Message;
// now how do I set the message that displays for the user to this variable?
return false;
}
}
return true;
}
}
}
下一步是什么,如何设置用户看到的错误消息?