If the data is not a multiple of 64 bits, then I can use padding. I know that it is not secure. But if the key is less than or more than 64 bits, should I ask the user to enter the key again, or should I pad / truncate it?
A DES key is, by definition, a (pseudo)randomly chosen sequence of 8 × 7 = 56 key bits, plus 8 parity bits,* for a total of 64 bits. If what you have isn't 64 bits long (with the appropriate parity bits), then it's not a DES key, but something else (e.g. a passphrase).
If the "something else" you have might contain less than 56 bits of entropy (which is likely, if it's e.g. a user-chosen password), then you will most likely want a key stretching KDF such as PBKDF2. Such KDFs are deliberately slow (and their slowness is adjustable) to make brute force guessing attacks harder.
Also, please note that the 56-bit key size of plain DES is itself too short to resist brute force attacks using modern hardware, making DES insecure. If you can't use a more modern cipher like AES, you should at least use Triple DES, which doubles the effective key size of DES to 112 bits (at the cost of also tripling the work needed for encryption).
(Ps. Of course, the "something else" could also be a corrupted DES key. In that case, you should just reject it, and report the error to the user who supplied the key.)
*) The standard way of storing a DES key is as a sequence of eight bytes, each consisting of 7 key bits and one redundant parity bit. Thus, the standard form of the key has 64 bits, even though only 56 of them are actually used for cryptographic purposes. This is a peculiarity of DES, not shared by most later block ciphers.