1

I have a list where I put a value on a date column: =Date>=TODAY()+20 so the item created must have a date more than 20 days after today.

Those items must be approved by some users.

But the problem is, if the approver tries to do the thing when Date <= today, that simply doesn't work.

Is it possible to make approval work, ignoring the initial item Date value?

Thanks a lot for your help.

PS: SP2016 classic pages.

9
  • Are you using this =Date>=TODAY()+20 as column/list validation? Note: column/list level validation will be applied to all users irrespective of their permissions. You might need to change the validation formula based on other conditions. Mar 10 at 7:42
  • I'm using this formula into the "Validation of the column" field, in the column's parameters.
    – AnthonyS
    Mar 10 at 8:07
  • You can change formula based on other columns. For example: Do not force validation if approval status is "Approved" >> for this you need to change formula to: =IF([Approval Status]="Approved",TRUE,[Date]>=TODAY()+20). You have to use it in list validation instead of column validation. Let me know if this approach works for you. Mar 10 at 8:12
  • I understand, but the first purpose is to force users to add an item 20 days before the date. It's a list where users create events. Those events require some time to be prepared so the rule is to create the event at least 20 days before they happen. So I can't condition the date +20 to the approval.
    – AnthonyS
    Mar 10 at 8:34
  • That is why you have to use additional conditions to force users with validation only when users are creating items. I have given on example above. You have to find similar condition for your scenario. OR you can try like: =IF(ISBLANK([Created]),[Date]>=TODAY()+20,TRUE). OR use [Modified] instead of [Created]. Mar 10 at 8:39

1 Answer 1

0

Column/list level validations in SharePoint list will be applied at all stages (item creation/update) to all users irrespective of their permissions.

So, you have to change the validation formula based on other conditions so that validation will be applied only when user is creating a new item in list.

Examples:

  1. Do not force validation if Approval Status is "Approved" >> for this you need to change formula to:
=IF([Approval Status]="Approved",TRUE,[Date]>=TODAY()+20)
  1. Force validation when Created date column is blank:
=IF(ISBLANK([Created]),[Date]>=TODAY()+20,TRUE)
  1. Force validation when Modified date column is blank:
=IF(ISBLANK([Modified]),[Date]>=TODAY()+20,TRUE)

Note: You have to add above formulas to list validation settings as you are referencing other columns (like Approval Status/Created/Modified) in formula. Check this thread for steps to add list validation formula: List validation if then syntax

1
  • Hi Ganesh, I'm still stuck and wonder if what I want is doable. I tried to place my original column formula in the validation list level and it did the job for the new item creation. But still can't approve item if the date < today+20. I also tried example 2. Doesn't match because the item is created even if date is < today+20, and approbation doesn't work. For example 3 no luck it accepts date < today+20 at creation & approbation works. Seems I can't control the date at item creation AND approve items when the approbation is done when date < today+20, or I don't have enough logic for this
    – AnthonyS
    Mar 13 at 8:31

Your Answer

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

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