InfoPath提交功能

时间:2009-08-13 17:01:56

标签: infopath

无论在用户点击按钮时是否输入了必填字段,我都需要保存InfoPath表单。有没有办法暂时关闭InfoPath表单的验证?

4 个答案:

答案 0 :(得分:1)

通过保存我假设你的意思是你想在本地保存xml数据文件,而不是将表单提交到数据存储区(webservice,sharepoint等)

在工具>表单选项中,您可以在表单上启用“保存/另存为”(我认为默认情况下已启用)它会抱怨存在验证错误但仍允许您保存。

还有通过代码隐藏使用的保存,它不会通过验证例程,但需要表单完全受信任,因为它需要访问资源,Infopath表单通常限制使用。

<强> VB.Net

  

Me.SaveAs( “C:\ TEMP \ myfile.xml中”)

<强> C#

  

this.SaveAs( “C:\ TEMP \ myfile.xml中”);

或者Chris建议允许空值作为数据源的一部分。

答案 1 :(得分:1)

在我的表单中,我需要一个按钮(“另存为草稿”),即使存在验证错误,也会将表单提交到SharePoint库。

这个代码隐藏功能对我有用:

public void SaveAsDraftButton_Clicked(object sender, ClickedEventArgs e)
{
    this.Errors.DeleteAll();
    this.Submit();
}

答案 2 :(得分:0)

您必须在代码隐藏文件中编写自己的验证代码,并在用户单击提交按钮时验证它,或者只在您想要获取代码时验证。

另一种方法是让字段允许空值,并仅在它们中包含文本时进行验证。此方法不需要自定义代码。

答案 3 :(得分:0)

我已经通过在表单上加上带有标签的单选按钮来做类似的事情'我已经完成了这个表单并准备提交'和'我没有完成这个表单。保存并稍后完成'。然后每个验证看起来像(validation OR saveOptions =='complete')。提交内容同样使用此字段来决定要采取的操作。