Why add validation on the client - surely it should take place on the server?
You are right, validation should ideally take place on the server and hopefully it does for our users. The Cell Validation function is not designed to replace server validation; instead it specifically deals with 2 common use cases:
to add an extra level of validation so that you can prevent or set warnings for edits which are usually permitted, but which in particular scenarios or use cases should be avoided or checked first (e.g. if things are particularly volatile and you want to limit how much a cell can change by)
to avoid unnecessary round trips to the server, particularly if this will have other knock-on consequences or effect other users
Can we make it mandatory for the user to comment why a warning is being overridden.
Yes. Since Version 1.2.6 (released November 2017), we only allow overrides when an associated explanation is provided. This explanation is sent to the audit stream and can be viewed in the Audit Log.
I dont want to stop the edit when a rule is broken but I do want to know; is that possible?
Yes there are 2 possible actions when a Cell Validation rule is breached:
Prevent - the edit won't happen under any circumstances.
Warning - the user is shown a warning which he can override (with an accompanying comment). If this happens then the edit completes.
It seems as though the second of these is more appropriate in this use case.