Your value doesn’t decrease based on someone’s inability to see your worth.
If you were to estimate the value of your life, what price tag would you give yourself? Why would you sell yourself short and lower that number, based on another person’s opinion of you?
Know your worth and stick to it. No one is perfect, but we are all made to be different, so who can really say what ‘perfect’ is supposed to be?
Don’t be so hard on yourself, you are doing the best you can do. Learn to love yourself enough not too care what negative things other people say about you. People who really know and care about you, would most likely value you higher than you would yourself, those people are the ones who matter.