Should Diffie-Hellman on Curve25519 be validated?
From DJB's page:

Don't. The Curve25519 function was carefully designed to allow all 32-byte strings as Diffie-Hellman public keys.
There are some unusual non-Diffie-Hellman elliptic-curve protocols that need to ensure &quot;contributory&quot; behavior.

So for (EC)DH using Curve25519 you don't need to validate public keys.
If you are using Curve25519 for some other elliptic curve protocol you may need to perform validation by making sure the public key isn't in some small subset of possible public keys.