【问题标题】:Sitecore WFFM MVC Custom Cross Control validationSitecore WFFM MVC 自定义交叉控制验证
【发布时间】:2016-11-30 08:54:41
【问题描述】:

Sitecore WFFM MVC 中是否有一种方法可以对基于另一个字段的选择有条件地要求的字段实施自定义验证

  • DynamicValidationBase”:- 这是一种属性化验证,此验证应用于字段,它确实可以访问表单详细信息(表单上的其他控件)。

  • FormCustomValidator”:- 这永远不会被触发,因为这是一个“MVC 表单”。

例如:

<style>
  div{padding:10px 0;}
ul{
  list-style:none;
}
</style>

  <div>
    <label for="Email">Email:</label>
    <input type="text" name="Email"/>
  </div>  
  <div>
    <label for="Phone">Phone:</label>
    <input type="text" name="Phone"/>
  </div>
  <div>
    <label for="IPrefer">I Prefer:</label>
    <ul>
      <li>
        <input type="radio" id="rdo_email" checked="checked" name="rdoPreferType"/>
        <label for="rdo_email">Email</label>
      </li>
      <li>
        <input type="radio" id="rdo_phone" name="rdoPreferType"/>
        <label for="rdo_phone">Phone</label>
      </li>
    </ul>
  </div>

【问题讨论】:

    标签: validation sitecore sitecore-mvc web-forms-for-marketers sitecore8.1


    【解决方案1】:

    RequiredIfPopulatedAttribute - 首先,需要一个自定义属性来装饰自定义字段。这会将必要的数据从表单馈送到客户端以构建验证和验证错误消息。

    自定义字段类 - 接下来,创建一个继承自所需字段的自定义字段,但将上面的属性添加到 Value 属性。

    自定义字段视图 - 向此 mvc 视图中的演示文稿添加任何自定义。确保模型是上面的自定义类。将此 .cshtml 文件与其他 WFFM 视图一起保存。

    Javascript - 添加以下 js 验证器: $scw.validator.addMethod() $scw.validator.unobtrusive.adapters.add()

    Sitecore 更新 - 在 MVC 类型字段中创建一个引用自定义类的 FieldType。 将此新的自定义 FieldType 引用为表单设计器中的类型字段。 表单字段的“参数”字段包含提供自定义字段属性的值列表。

    以上是完成此任务的步骤概述。图解请见:https://soyouwannasitecore.wordpress.com/2016/10/27/sitecore-wffm-required-if-outlined/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 2015-10-12
      • 2016-05-09
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多