Wednesday 7 March 2012

The security validation for this page is invalid in InfoPath form

Error  Message : Failed to get SPGroupName from GroupID. Error Message: Group cannot be found. Callstack: at Microsoft.SharePoint.SPGroupCollection.Get ByID(Int32 id) at Microsoft.SharePoint.WebControls.PeopleEditor.set_SharePointGroupID(Int32 value). 
The security validation for this page is invalid in InfoPath form

Most of the articles suggest to disable Web Page Security Validation in the Web Application settings which is alright to fix the issue on a temporary basis specially if its not a production environment. Here are the steps:
  1. Open Central Administration -> Manage Web Applications -> General Settings
  2. Web Page Security Validation -> Off.
  3. OK
If it’s a production environment I wouldn’t suggest using this as a solution could cause serious security risk. I was able to resolve this by adding an entry here:

Under the 14 hive, under template/layouts, find the formserver.aspx file. 
Backup the file and then edit it with any text tool, say, notepad.
Under the <body> tag, add the highlighted line of code.

<body runat="server" id="PageBody">
<SharePoint:FormDigest runat="server" />

Save it.

iisreset won’t hurt

You may have to do this if on each server . In my case, I had to republish the InfoPath form as an administrator approved form and change the form template in the form library to the published form content type which solved the issue after adding the entries in formserver.aspx. 

Thanks to MSDN for offering this solution. Saved time !

1 comment:

  1. "Under the 14 hive, under template/layouts, find the formserver.aspx file."

    Could you clarify this section? The registry hive/folders? On the servers? On the client PC? etc.

    Thanks!
    Brian

    ReplyDelete