you have to see all 150 Pokemon in the game, including legendaries. if you need to see dialga, go to celestic town and talk to the grand elder. she will show you a picture of dialga. and yes, you must confront all three legendaries uxie, mespirit, and azelf. mespirit, you just have to see him. uxie and azelf, they both have to be confronted. to see all the Pokemon, just fight every trainer you see. why: fills up pokedex faster, makes your Pokemon stronger, and the next time you go to the same route, it will be faster cuz no trainer will distract you.
Source - https://answers.yahoo.com/question/index?qid=20080607195115AA71JXy