Sitecore WFFM MVC自定义交叉控制验证

时间:2016-09-01 18:19:22

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

Sitecore WFFM MVC 中是否有一种方法可以根据另一个字段的选择对字段实施自定义验证

  • " DynamicValidationBase ": - 这是一个attributerized验证,此验证应用于该字段,该字段可以访问表单详细信息(其他控件)在表格上。

  • " 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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分: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/