prevent signup with empty fields, better button behavior