I was just abbreviating Length in my post, which I should not have. As I said, my calculation validates fine, so I'm using the right calculation, but it only does it at committing of the record and not exiting the field.
Calculated validation expressions typically do not evaluate until the record is committed.
I don't quite see why you want to use the Length function when you can just specify the maximum number of characters?
I generally prefer to put validation expressions in place as an "insurance policy" to make sure that even if I screw up and a user finds a way to enter invalid data, it will be "caught". But FileMaker is "clumsy" when it comes to handling validation errors so I prefer to use the OnObjectValidate to run a script for catching and correcting errors as this makes for a more user friendly experience.
The main reason is because this system revolves around ISBN10 and ISBN13 book numbers. The historical data indicates that the input was too-often 9 characters or 11 characters. I need to ensure that there are exactly 10 characters or 13 characters. I think you answered my question - that I will have to use a script trigger. It doesn't quite make sense that max length validation and length validation aren't consistent, but I'm sure there's a reason.
Thank you for your help.