Note: There was the similar question before ( BDD And Unit Testing ) but it doesn't have an actual straight answer. Just link to the book.
Assume we test a profile page. User submit his data.
So if I've tested that validations are working properly during BDD do I need to double-check it with Unit Test? Or I can skip it? What will the right thing to do in this case and why?
Integration test checks your parts are working together in right manner.
Unit test covers right functionality of each part itself.
So, there are two parts of the answer:
If the validation logic is simple, go ahead and ignore the TDD dogma. You won't gain much from "proper" unit tests.
But if the validation is complex, you probably won't be able to test every corner case in an integration tests (or if you do, the tests will take a very long time to run and be fragile, i.e. break often for various reasons, and when they break it will sometimes be hard to determine why.
Unit tests suffer much less from these problems, so they can be useful to complement the integration tests.