U4-7476 - 7.3.2 backoffice Postsave 400 bad request

Created by andrew shearer 01 Dec 2015, 04:49:27 Updated by Joe Glombek 28 Mar 2017, 10:56:57

hi

after upgrading to 7.3.2 the save action in the backoffice returns a 400 bad request when mandatory fields are not met. The validation message doesn't show, but the save seems to actually go ahead anyway and then the backoffice is left in a hung state.

in chrome dev tools I can see a 400 bad request on /umbraco/backoffice/UmbracoApi/Content/PostSave and also a handful of ClientDependency errors in the console.

1 Attachments

Comments

Sebastiaan Janssen 01 Dec 2015, 09:47:05

I've tried this on two 7.3.x sites:

  • Set Mandatory to true on a property of type textstring
  • Go to a document of this type
  • Don't fill in the mandatory field
  • An error shows in the interface, no errors in the js console
  • Went to a document which had the property filled out and cleared it
  • Upon save an error shows in the interface, no errors in the js console

I think you probably have some old ClientDependency cache laying around. Go into ClientDependency.config and change the version (just make it one higher or lower). If that doesn't help, make sure to thoroughly delete your browser cache.


andrew shearer 01 Dec 2015, 19:45:38

hi Sebastiaan - thanks for taking a look. I had tried those things before posting this ticket. I can't replicate this on my dev machine either, only on our test environment. The difference being that our test environment is in release mode meaning that CD assets are being bundled. Maybe there's some sort of minify issue with client dependency? thanks


andrew shearer 01 Dec 2015, 20:21:48

i just added a screenshot from the browser console


andrew shearer 01 Dec 2015, 20:40:11

our issue, sorry Sebastiaan. we had some custom error config swallowing the umbraco 400 response :|


Dan Booth 22 Feb 2017, 14:46:30

I've just had this issue with latest version of Umbraco - seems the cause was the same as Andrew's - we had <httpErrors errorMode="Custom" existingResponse="Replace"> int the web.config file.

Seems it's the existingResponse="Replace" part that causes Umbraco to return a server error when performing validation of properties.

Thought I'd leave that here for anyone else who might get the same issue.


Joe Glombek 28 Mar 2017, 10:56:57

We added the following to Web.config to get around this error:

<location path="umbraco">
    <system.webServer>
      <httpErrors existingResponse="PassThrough" />
    </system.webServer>
  </location>


Priority: Normal

Type: Bug

State: Can't Reproduce

Assignee:

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.3.2

Due in version:

Sprint:

Story Points:

Cycle: