I have a list with 3 columns that are currently relevant:

Customer Code | Product Line | Part Number

I want to enforce unique values across all 3, so that at least one value of the three columns needs to be different.

If this were an excel spreadsheet, this would be easy to solve using the concatenate function. However, calculated columns in SharePoint cannot be used for validations in that same way it seems.


-Customer Code is a lookup column (not sure if that matters here)

-This will primarily be used in data sheet view, with users pasting in many rows of data from an excel sheet

I've read that event receivers could help to solve this, but I do not currently have access to Visual Studio 2010. Any alternative solutions/workarounds are much appreciated!


While SharePoint is typically backed by a SQL Server database, the SharePoint platform is not a traditional database and thus does not provide features like composite keys for list item identifiers.

You are correct that you would need to add this type of functionality yourself and one such way is event receivers. Event receivers would work because they are triggered at the moment the user save the record and thus validation code in the event receiver can prevent the save.

I don't think workflows would work here given that the record would need to be saved in order to trigger the workflow. Another option might be client side code or an app that is added to check your records and determine whether or not to allow the form submission.

  • Thank you for your input. Is it possible to implement an event receiver without Visual Studio? – Shannon G Jan 12 '16 at 15:39
  • Or would it be significantly easier to create a column that simply identifies an item as a duplicate? It would still allow it to go through, but removing the duplicates in a linked Access database would be pretty easy to tackle. This way, the user inputting the data would at least be aware of the duplicate and that the duplicate will be ignored when processed? – Shannon G Jan 12 '16 at 15:41
  • Event receivers are backed by compiled code and you need a tool to do that -- usually Visual Studio. – Erik Perez Jan 13 '16 at 2:59
  • You would need to provide more detail (perhaps as a new question) on how you would use a column to automatically "identify an item as a duplicate" in order to determine if it would be easier. But, if you require custom field type with some form of logic then you would once again need to write code and compile it. – Erik Perez Jan 13 '16 at 3:12

I have made my own client side validation by populating data from sharepoint web service.

hope this can help you


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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