面向营销人员的 Sitecore Web 表单:更改生成的字段 Name/ID
Sitecore Web form for marketers: Change Name/ID of fields that is generated
是否可以实际更改为每个字段生成的 <input id=**"[ID]"** name=**"[name]"** />
WFFM?
或者总是必须以这种方式?
注意:这要求它不能导出到ascx文件并被修改。
我正在尝试将字段数据存储到 Web 缓存中,并且越来越难以使用 Request.Form[]
来定位这样的 IDs/Name
如果您想检查输入值是否为空或在提交时填充,您有两个选项可用。
第一个是通过内容编辑器中的 Form Designer
实现的。对于每个字段,您可以定义它是否是必填字段、min/max 长度并对值应用正则表达式(Sitecore 附带了一些开箱即用的)。您还可以完全控制验证文本以帮助引导您的用户。
此图显示 Form Designer
左侧的验证部分
此验证在线发生,在提交表单之前,或在提交单击事件时发生。
您甚至可以创建自己的 Field Validators
,也可以通过 Form Designer
应用。我最近写了另一个 可以帮助你。
另一个选项是扩展或创建您自己的 Save Action
,在非 Sitecore 语言中,按下表单按钮时触发的提交操作。
此时您可以访问表单上的所有 Fields
并对用户输入的值执行任何操作。
public class CustomFormSubmit : ISaveAction
{
public void Execute(ID formid, AdaptedResultList fields, params object[] data)
{
try
{
// Loop through each field in the form
foreach (AdaptedControlResult field in fields)
{
// Properties so you could manipulate field Id and Value
field.Id
field.FieldName
field.Value
// logic to manipulate field
}
}
catch (Exception ex)
{
Logger.Log(ex.Message + ":" + builder, ExceptionCategory.Error);
throw;
}
}
您需要在 Sitecore 中做一些额外的工作才能让您的新 SaveAction
为 WFFM 选择,但我已经在关于 Custom Save Actions 的博客中对此进行了介绍,它非常简单
我不确定您可以在操作 FieldId 方面走多远,但这是一种检查和使用字段及其值的简单方法。
是否可以实际更改为每个字段生成的 <input id=**"[ID]"** name=**"[name]"** />
WFFM?
或者总是必须以这种方式?
注意:这要求它不能导出到ascx文件并被修改。
我正在尝试将字段数据存储到 Web 缓存中,并且越来越难以使用 Request.Form[]
如果您想检查输入值是否为空或在提交时填充,您有两个选项可用。
第一个是通过内容编辑器中的 Form Designer
实现的。对于每个字段,您可以定义它是否是必填字段、min/max 长度并对值应用正则表达式(Sitecore 附带了一些开箱即用的)。您还可以完全控制验证文本以帮助引导您的用户。
此图显示 Form Designer
此验证在线发生,在提交表单之前,或在提交单击事件时发生。
您甚至可以创建自己的 Field Validators
,也可以通过 Form Designer
应用。我最近写了另一个
另一个选项是扩展或创建您自己的 Save Action
,在非 Sitecore 语言中,按下表单按钮时触发的提交操作。
此时您可以访问表单上的所有 Fields
并对用户输入的值执行任何操作。
public class CustomFormSubmit : ISaveAction
{
public void Execute(ID formid, AdaptedResultList fields, params object[] data)
{
try
{
// Loop through each field in the form
foreach (AdaptedControlResult field in fields)
{
// Properties so you could manipulate field Id and Value
field.Id
field.FieldName
field.Value
// logic to manipulate field
}
}
catch (Exception ex)
{
Logger.Log(ex.Message + ":" + builder, ExceptionCategory.Error);
throw;
}
}
您需要在 Sitecore 中做一些额外的工作才能让您的新 SaveAction
为 WFFM 选择,但我已经在关于 Custom Save Actions 的博客中对此进行了介绍,它非常简单
我不确定您可以在操作 FieldId 方面走多远,但这是一种检查和使用字段及其值的简单方法。