1. Have a sense of humor.
2. Learn to do some things for yourself; don't just sit around and expect someone else to handle all the work.
3. Have a listening ear and a sympathetic heart.
4. Dream about true love, but at the same time know how to care for yourself.
5. If you do find love, love him for who he is, not for what you want him to be.
6. Never be controlling or manipulative.
7. Never let anyone push you around.
8. Cry when necessary, but don't get carried away.
9. Always stand by those whom you truly care about.
10. Don't be so serious that you forget to have fun, but don't have so much fun that you forget to be serious.
And I don't think that a weakness shouldn't take away from noble qualities; it's the meshing of the two that gives a character depth.
Plus, it really depends on the situation for having what you classify as "good" traits to BE good traits. What if your character's a villain, or something? Or a sociopath?
You're asking yourself, "why should a character have so many weak traits?". And equally, it could be asked, "why should a character have so many 'good' traits?"