I am working on a sharepoint on-premise 2013. and i am facing this problem , where my required site columns will be set as optional inside the list columns level when I added them to the list using content type. here is the full scenario:-

  1. I have a site collection of type Team Site.
  2. inside the site setting. I created three site columns
    • Project Status. choice
    • Project Owner.People or Group
    • project type.choice.
  3. where I set these site columns as Required inside the create new column form.
  4. then inside the site, I created a new site Content type which have the built-in Issue as its parent.
  5. I add the three site columns to the new content type,where by default these columns were set a required on the site content type level.
  6. then I went to a subsite, I added a new Custom List, and I change its default content type from Item to the new content type.

The problem I am facing is as follow:-

  1. The three site columns were still set as required on the list content type level which is correct, But the PROBLEM is that the three required site columns were set as optional on the list columns level.
  2. This means if I enable Quick Edit grid for the list views, then users will be able to create new items, while leaving these 3 columns empty. because the Quick Edit grid will check if a column if required or not based on the column setting at the list column level and not at the list content type level.
  3. Also I am planning to save the subsite as template, and allow our customers to create new sub-sites based on the template. but seems this will create a problem as they will need to modify the columns and set them as required manually each time they create a new sub-site.

so can anyone advice why SharePoint is doing this strange behaviour. now I know that I can set the columns as Required inside the list columns level, or I can go to the columns at the site level and set them as required then chose to update the site column and apply the changes to all the related lists.. but my question is how I can preserve the Required setting for the site columns at the list level when I added the CT to the list?


  • Are you doing this with the custom development with Visual Studio? or Manually?
    – Ram
    Commented Nov 24, 2016 at 5:58
  • @Ram i am doing this using the UI
    – John John
    Commented Nov 24, 2016 at 11:03

2 Answers 2

  • Firstly you need to remove all the items from the list you created.
  • Remove the Custom Columns from the Content Type.
  • Change the columns required field and save the change.
  • Create the Content Type/ Associate the columns and then
  • create the list with that newly created Content Type/ Associate Content Type.
  • This will shows you required fields properly.

Because once you have added the columns to content type and the Content Type is associated wit list, Added some items to the list then change in the Site Columns doesn't change in the list.

Hope this will help you!

  • i did not get your answer correctly .. now not sure what you exactly mean by "Remove the Custom Columns from the Content Type." why i need to remove my custom columns from the CT . Also for the first point "Firstly you need to remove all the items from the list you created." now the custom list comes with a single filed named "Title" field and four fields that can not be removed (created, modified, created by, modified by) ,, so not sure if removing the Title field from the custom list will really solve the problem?? or it is causing the problem,, as my custom CT also have title
    – John John
    Commented Nov 24, 2016 at 10:16
  • @john Because If any list contains the item which are associated with the Content Type, Then If you modify the columns & Content Type then list doesn't show the latest change which you have done in the custom columns. So you need to remove all the list items and then custom columns from the content type and then change the Columns attributes like required field. Then only you can see the change, Please read answer carefully.
    – Ram
    Commented Nov 24, 2016 at 10:21
  • i think you mis-understand my problem.. now in any way your steps will not be valid in my case.. as i mentioned i created a custom list and this custom list comes with built-in item CT.. now i already remove the item CT from the list, then add my custom CT.. but for the columns now the custom list by default will have 5 columns (title,created,modified, createdby& modifiedby) and these columns can not be removed from the list,, there is no Delete button for these columns on the list level
    – John John
    Commented Nov 24, 2016 at 10:44
  • In my case the custom site CT and the custom Site columns are set correctly in respect which are Required.now i went to my site>add App of type custom list>Remove the Item CT from the list(But i can not remove the 5 columns from the list which I get inside the list (title,created,modified, created/modifiedby) as the delete button will not be there.Then inside the list i added my custom CT,this will result in my site columns to be set as optional on the list level except the Title which will stay Required. For the CT at the list level it will have the same settings as its parent site CT.
    – John John
    Commented Nov 24, 2016 at 11:02
  • I am not talking about the default columns, keep those as it is, only have to delete/remove custom columns which you added. You need to do this in Visual Studio.
    – Ram
    Commented Nov 24, 2016 at 11:26

You need to remove the Item Content Type from the list to make those columns as defined in your custom content type.
As long as your list has the Item Content Type, those additional fields might appear as Optional in the List as they are not part of the Item Content Type but those Fields are there, so these fields automatically become optional for the Item Content Type(List Content Type).

  • not sure if this could be the problem ayway,, but i already removed the Item CT from the list...
    – John John
    Commented Nov 24, 2016 at 10:09
  • also in my case the item will stay Required on the list CT level,, the problem is that the column itself at the list columns level will be set as Optional.. but on the CT list level the column will be as defined inside the site CT..
    – John John
    Commented Nov 24, 2016 at 10:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.