A page will only update a field if it detects that there is some code on the OnValidate trigger. This is done for performance reasons to avoid unnecessary updates.
Please click the link to read the complete story from the Microsoft Dynamics NAV Team Blog.