无论在用户点击按钮时是否输入了必填字段,我都需要保存InfoPath表单。有没有办法暂时关闭InfoPath表单的验证?
答案 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')。提交内容同样使用此字段来决定要采取的操作。