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



是否有一种方法在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>

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

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

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

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

Sitecore更新-在MVC类型字段中创建一个引用自定义类的FieldType。在表单设计器中将这个新的自定义字段类型引用为"类型"字段。表单字段的Parameters字段包含一个值列表,这些值提供自定义字段的属性。

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

最新更新