Hi,
Then, the first thing is to understand how to reproduce the problem.
For example, it could be that the customer first added the product to the cart, went to the checkout, filled the field for a date 2 or 3 days in the future, then they left their cart as is, and they came back on the day they had selected and placed the order without the check happening as the value was already validated in the cart before.
Are you able to reproduce this process ?
If I look at the code in the file administrator/components/com_hikashop/helpers/checkout/fields.php (which handles the custom order fields on the checkout), I can see that the "check" function (which is called at the end of the checkout) doesn't validate the fields. It's only the "validate" function (which is called each time the step where the custom order fields are displayed is being submitted) which checks the data provided by the user in the fields via the getFilteredInput function call.
So, technically, it would be possible to bypass the test by entering a valid valid, waiting a day or 2, and then validating the order without going through the step of the custom order fields.
So, I suppose it also depends on how your "checkout workflow" is configured.
Supposing that this is indeed what's happening, adding a check in the "check" function could be a solution, but it's not simple because the check needs to handle many things (the "display limited to", the categories and products restrictions, the AJAX fields) and the data it has at this point is not the same as the data it has when the page is being submitted.
A cruder solution would be to implement the onBeforeOrderCreate event in the advanced date picker plugin to target the custom order fields of that type and if the value if filled for them, the automatically applies the checks on them. I prefer this second approach as it is a lot more targeted and will avoid having to mess with all the other custom field types and the complicated things that need to happen for the checks to work properly.