When verifying that a cryptographic signature was produced by an ethereum address, how can I verify the validity of the data which was signed?

I'm attempting to play around with signature verification in solidity through the use of ecrecover and have gotten to the point of being able to verify the address which was used to sign a particular message. However, the part where I am getting stuck is verifying the validity of the data that was signed, so that I can ensure that a particular piece of data was signed and submitted, and that another incorrect piece of data which was signed by the same person wasn't submitted instead?