Forms Kentico CMS:表单验证-至少回答一个输入

Forms Kentico CMS:表单验证-至少回答一个输入,forms,validation,content-management-system,kentico,Forms,Validation,Content Management System,Kentico,我在Kentico CMS网站上有一个简单的反馈表 有两个输入和一个提交按钮。其中一个输入是“是/否”单选按钮选择,另一个是文本区域输入。(请看截图) 我希望用户仅在满足以下3个条件中的至少一个条件时才能提交表单: “这一页有用吗?”有人回答 文本区域值不是空的,并且该值不等于默认文本值,即“我们如何改进此页面?”?提供反馈有助于我们改进此信息的可用性 或者,满足1和2中的两个标准 基本上,我希望他们回答至少一个输入 使用Kentico表单/在线表单web部件是否可以进行此类验证? 表单截图(可

我在Kentico CMS网站上有一个简单的反馈表

有两个输入和一个提交按钮。其中一个输入是“是/否”单选按钮选择,另一个是文本区域输入。(请看截图)

我希望用户仅在满足以下3个条件中的至少一个条件时才能提交表单:

  • “这一页有用吗?”有人回答
  • 文本区域值不是空的,并且该值不等于默认文本值,即“我们如何改进此页面?”?提供反馈有助于我们改进此信息的可用性
  • 或者,满足1和2中的两个标准
  • 基本上,我希望他们回答至少一个输入

    使用Kentico表单/在线表单web部件是否可以进行此类验证?

    表单截图(可能有用):

    我就此功能联系了Kentico,他们的回复如下:

    遗憾的是,没有提供这种类型的验证。肯蒂科CMS 分别对每个内置控件执行验证

    一般来说,您有两种选择。第一个是实施 OnBeforeValidateOnAfterValidate提供此功能的事件 如有必要,执行自定义验证。您可以访问每个字段 详情如下:

    字符串应答文本=
    ValidationHelper.GetString(viewBiz.BasicForm.Data.GetValue(“answerText”),
    "");

    如果验证失败,则需要设置 BizForm将控件设置为true:

    viewBiz.StopProcessing=true

    有关BizForm相关定制可能性的更多信息 可在此处找到:

    另一种方法是按原样创建自定义表单控件 文件中描述了:

    表单控件将允许用户同时指定字段和 因此,您可以创建自定义验证(IsValid方法) 根据您的要求

    要设置除使用for控件的字段以外的字段, 您需要实现GetOtherValues方法

    然后,只需禁用另一个字段,使其不会显示在屏幕上 形成两次


    对于内置的表单元素,不需要。您可能需要创建一个自定义表单控件来完成此操作,或者使用其他方法来收集数据。