1

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

4

4 回答 4

1

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

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

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

VB.Net

Me.SaveAs("c:\temp\myfile.xml")

C#

this.SaveAs("c:\temp\myfile.xml");

或者正如克里斯建议的那样,允许将空值作为数据源的一部分。

于 2009-10-07T12:22:56.313 回答
1

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

这个代码隐藏函数对我有用:

public void SaveAsDraftButton_Clicked(object sender, ClickedEventArgs e)
{
    this.Errors.DeleteAll();
    this.Submit();
}
于 2012-06-06T07:33:19.590 回答
0

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

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

于 2009-09-15T12:11:31.070 回答
0

我通过在表单上添加带有“我已完成此表单并准备提交”和“我尚未完成此表单”标签的单选按钮来完成类似的操作。保存并稍后完成'。然后每个验证看起来像(验证或 saveOptions == '完成')。提交同样使用此字段来决定采取什么行动。

于 2009-10-08T15:29:00.953 回答