Kentico系统表表单验证

Kentico系统表表单验证,kentico,Kentico,肯蒂科6号 我正在使用自定义注册Web部件,希望我的表单验证工作如下-> 验证显示: 1.每个输入旁边的红星无效 2.在顶部表格中有一个验证摘要 Kentico只允许每个feidl发送一条验证消息,所以我不知道如何解决这个问题 谢谢:)您可以自定义表单验证,也可以等待7.0版本;)默认情况下,7.0版本支持这种行为(带有一个漂亮的错误摘要,并链接/锚定到输入不正确的字段)。因此,如果有可能使用Kentico 7.0RC或等待最终版本,我会推荐这种方法,因为您在6.0中的自定义将过时 如果您想在6

肯蒂科6号 我正在使用自定义注册Web部件,希望我的表单验证工作如下->

验证显示: 1.每个输入旁边的红星无效 2.在顶部表格中有一个验证摘要

Kentico只允许每个feidl发送一条验证消息,所以我不知道如何解决这个问题


谢谢:)

您可以自定义表单验证,也可以等待7.0版本;)默认情况下,7.0版本支持这种行为(带有一个漂亮的错误摘要,并链接/锚定到输入不正确的字段)。因此,如果有可能使用Kentico 7.0RC或等待最终版本,我会推荐这种方法,因为您在6.0中的自定义将过时

如果您想在6.0中实现这一点,请查看Kentico bizforms中验证消息的示例:

示例中的viewBiz是我们正在使用的BizForm的代码名。建议在进行任何更改()之前创建web部件的克隆,并且这些更改是在这些克隆的代码文件上进行的

protected void viewBiz_OnValidationFailed()
{

    ((CMS.ExtendedControls.LocalizedLabel)this.viewBiz.BasicForm.FieldErrorLabels["FirstName"]).Text="Field specific error message";

}
正如您所见,您需要从哈希表中获取错误标签作为控件,并正确设置其属性(此处为文本)。 要设置主验证消息,只需使用以下代码:

this.viewBiz.ValidationErrorMessage=“主错误消息”

要访问字段值进行验证,请检查下面的代码(示例中该字段称为“FirstName”):

请注意,您必须在ihe bizform定义中注册所有提到的方法:

如果中断BizForm的处理,则可能必须手动保存数据:

viewBiz.BasicForm.SaveData(“redirect.to.this.url”)

另外,我们比stackoverflow更经常地监控我们的论坛;)

问候,, 鲍里斯·波卡特科, 肯蒂科

protected void viewBiz_OnAfterValidate()
{
        this.viewBiz.ValidationErrorMessage = "Main error message";
        string find = "FirstName";
        Control cl = this.viewBiz.BasicForm.FindControl(find);

        string toValidate = "";

        if (cl != null)
        {
            TextBox tb = (TextBox)cl;
            toValidate = tb.Text.ToString().Trim();
        }
}