I have learned some things in my life regarding relationships and finding the right person that compliments you. One of my life lessons is accepting that a person is who they are. When a person shows you a side of themselves that is not so flattering, don’t make excuses for their behavior, but understand that the behavior is a part of that person’s personality. You will most likely encounter this same type of behavior over and over again. If the behavior is disturbing in any way, speak up and let you partner know how you feel. If they don’t care about your feelings then they are most likely not the person for you.
You definitely can’t change a person, but they should care enough about you that they don’t want to hurt you or make you feel bad. Accepting someone’s flaws are all fine and good, unless they are hurting you. You should never be in a relationship where you are intentionally or consistently hurt. It is not healthy for you and it is not right for you.