Yes, your employer may (within limits) be able to specify how you dress at work.
Your contract might state that you need to dress 'smartly', rather than specifying particular garments. As you might well have conflicting ideas of what counts as 'smart', you should ask your employer for clarification.
Your employer should try to avoid including elements in a dress code which would unjustifiably conflict with someone's religion or religious beliefs. For example, a dress code forbidding headwear would prejudice male Sikhs who must wear a turban. Likewise, a dress code prohibiting visible crosses would prejudice Christian workers.
Employers are allowed to make rules that are reasonable, even if they impact negatively on someone who wants to manifest their religion. For example, an NHS Trust is likely to be allowed to ban the wearing of a visible cross on a chain by a nurse engaged in patient care, for reasons of health and safety, but not by a desk-bound receptionist.
Employers should also avoid sexist dress codes, such as insisting on high heels, short skirts or make up. High heels at work are also a health concern, as regular use can cause physical harm, including back pain and permanent foot injuries.