当失败的CUstom验证时,WFFM MVC字段不突出显示

时间:2016-09-12 14:36:12

标签: sitecore sitecore7 sitecore7.2 web-forms-for-marketers

我们正在使用WFFM 2.4版本151103,Sitecore 7.2。为MVC表单创建自定义验证。当它返回失败的ValidationResult时,表单上的字段不会突出显示,并且错误消息不会显示在该字段下的信息块中。这是模型代码:

m0h3n <- function(m){
   a <- which(m, arr.ind = T)
   colnames(m)[aggregate(col~row,a[order(a[,1]),],min)$col]
}

all.equal(akrun(n), cath(n), joe(n), m0h3n(n))
# [1] TRUE

microbenchmark(akrun(n), cath(n), joe(n), m0h3n(n))

# Unit: microseconds
     # expr      min       lq      mean    median        uq       max neval
 # akrun(n) 2291.981 2395.793 2871.7156 2482.7790 3561.9150  4205.370   100
  # cath(n) 8263.210 8554.665 9695.9375 8782.8710 9947.9415 58239.983   100
   # joe(n)  274.029  298.517  526.6722  312.0375  342.5355  2366.798   100
 # m0h3n(n) 3890.178 3974.309 4280.6677 4073.1635 4227.7550  6337.501   100

自定义MVC验证器:

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Sitecore.Data.Items;
using Sitecore.Forms.Mvc.ViewModels;
using Sitecore.Forms.Mvc.ViewModels.Fields;
using Sitecore.Forms.Mvc.Validators;
using Frb.Atl.Extensions.WFFM.CustomValidators;

namespace Frb.Atl.Extensions.WFFM.Models
{
    public class TourSingleLineTextField : SingleLineTextField
    {
        [AtlantaTourParticipantsAttribute("tourProperty")]
        [DataType(DataType.Text)]
        public override string Value { get; set; }
    }
}

还有其他人在WFFM中遇到过这种行为吗?你有什么决议吗?

TIA

1 个答案:

答案 0 :(得分:0)

此问题的原因不在自定义字段类型或验证代码中。问题是缺少分析配置文件。表单在进行自定义验证之前会失败。替换了分析文件,验证开始正常运行。