我在Kentico CMS网站上有一个简单的反馈表。
有两个输入和一个提交按钮。其中一个输入是是/否单选按钮选择,另一个是文本区域输入。 (请看截图)。
我希望用户只有在满足以下3个条件中的至少一个时才能提交表单:
基本上,我希望他们回答至少一个输入。
使用Kentico表单/在线表单Web部件是否可以进行此类验证?
表单截图(可能有用):
答案 0 :(得分:1)
我与Kentico就此功能进行了联系,他们的回复如下:
遗憾的是,未提供此类验证。 Kentico CMS 分别对每个内置控件执行验证。
通常,您有两种选择。第一个是实施 OnBeforeValidate 或 OnAfterValidate 提供此功能的事件 必要时执行自定义验证。您可以访问每个字段 如下:
string answerText = ValidationHelper.GetString(viewBiz.BasicForm.Data.GetValue("answerText"), "");
如果验证失败,则需要设置 StopProcessing BizForm 控制为true:
viewBiz.StopProcessing = true;
有关BizForm相关定制可能性的更多信息 可以在这里找到: http://devnet.kentico.com/docs/devguide/index.html?api_bizforms_customization_possibilities.htm
另一种方法是创建自定义表单控件 在文档中描述: http://devnet.kentico.com/docs/devguide/developing_form_controls.htm
表单控件允许用户指定两个字段和 因此,您可以执行自定义验证( IsValid 方法) 根据您的要求。
要设置除使用for控件的字段以外的字段, 你需要实现 GetOtherValues 方法。
然后,只需禁用其他字段,使其不显示在 形成两次。