Validate only changed fields; ensure PK