Validation of data entry fields and focus

Follow a login screen as “example” that I would like to know how to validate text input email and password

When I trie to test if email is empty and set st.stop it doesnt raise and go ahead, this is one problem and another is that I need to set focus when validation not sucess.
I try to use callback without success !

I could suggest Streamlit to create somenthing to set focus element, like : st.focus(email)

This is what happens when I try to click login button

When I used st.stop I thought the program flow would stop but it didn’t


It would be interesting for Streamlit to have a st.stop function like in the image

Could anyone tell me the best way to handle this?