Anonymous
Пользователь не проходит регистрацию
Сообщение
Anonymous » 10 апр 2024, 09:38
Я пытаюсь зарегистрировать пользователя, используя адрес электронной почты и пароль через аутентификацию Firebase, но не понимаю, почему он не регистрируется, хотя я правильно следовал документу. Я предполагаю, что проблема в createUserwithEmailandPassoword. Посмотрите, есть ли какие-либо проблемы в коде, и предоставьте фрагмент решения.
Код: Выделить всё
class EmailSignUpFragment : Fragment() {
private lateinit var binding: FragmentEmailSignUpBinding
private lateinit var mAuth: FirebaseAuth
private lateinit var homeViewModel: HomeViewModel
private lateinit var name:String
private lateinit var email:String
private lateinit var password:String
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
// Inflate the layout for this fragment
binding = FragmentEmailSignUpBinding.inflate(layoutInflater)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mAuth = FirebaseAuth.getInstance()
homeViewModel = ViewModelProvider(requireActivity())[HomeViewModel::class.java]
fillForm()
}
private fun fillForm() {
binding.btnEmailSignUp.setOnClickListener {
if (binding.editNameTxt.text.toString().isEmpty()) {
Toast.makeText(requireActivity(), "Please enter name", Toast.LENGTH_SHORT).show()
} else {
if (binding.editEmailTxt.text.toString().isEmpty()) {
Toast.makeText(requireActivity(), "Please enter email id", Toast.LENGTH_SHORT)
.show()
} else {
if (binding.editPasswordTxt.text.toString().isEmpty()) {
Toast.makeText(
requireActivity(),
"Please enter password",
Toast.LENGTH_SHORT
)
.show()
} else if (binding.editPasswordTxt.text.toString().length < 8) {
Toast.makeText(
requireActivity(),
"Password must have more than 8 characters",
Toast.LENGTH_SHORT
).show()
} else {
name=binding.editNameTxt.text.toString()
email=binding.editEmailTxt.text.toString()
password=binding.editPasswordTxt.text.toString()
mAuth.createUserWithEmailAndPassword(
email,
password
).addOnCompleteListener(requireActivity()) { task ->
if (task.isSuccessful) {
homeViewModel.setUserData(
mAuth.currentUser?.uid,
name,
email,
""
)
val home = HomeFragment()
val navigationUseCase = switchFragmentUsecase(
requireActivity().supportFragmentManager,
R.id.logFragment
)
navigationUseCase.navigateToFragment(home)
} else {
Toast.makeText(
requireActivity(),
"Account is not registered",
Toast.LENGTH_SHORT
).show()
}
}
}
}
}
}
}
}
Подробнее здесь:
https://stackoverflow.com/questions/783 ... registered
1712731083
Anonymous
Я пытаюсь зарегистрировать пользователя, используя адрес электронной почты и пароль через аутентификацию Firebase, но не понимаю, почему он не регистрируется, хотя я правильно следовал документу. Я предполагаю, что проблема в createUserwithEmailandPassoword. Посмотрите, есть ли какие-либо проблемы в коде, и предоставьте фрагмент решения. [code]class EmailSignUpFragment : Fragment() { private lateinit var binding: FragmentEmailSignUpBinding private lateinit var mAuth: FirebaseAuth private lateinit var homeViewModel: HomeViewModel private lateinit var name:String private lateinit var email:String private lateinit var password:String override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { // Inflate the layout for this fragment binding = FragmentEmailSignUpBinding.inflate(layoutInflater) return binding.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) mAuth = FirebaseAuth.getInstance() homeViewModel = ViewModelProvider(requireActivity())[HomeViewModel::class.java] fillForm() } private fun fillForm() { binding.btnEmailSignUp.setOnClickListener { if (binding.editNameTxt.text.toString().isEmpty()) { Toast.makeText(requireActivity(), "Please enter name", Toast.LENGTH_SHORT).show() } else { if (binding.editEmailTxt.text.toString().isEmpty()) { Toast.makeText(requireActivity(), "Please enter email id", Toast.LENGTH_SHORT) .show() } else { if (binding.editPasswordTxt.text.toString().isEmpty()) { Toast.makeText( requireActivity(), "Please enter password", Toast.LENGTH_SHORT ) .show() } else if (binding.editPasswordTxt.text.toString().length < 8) { Toast.makeText( requireActivity(), "Password must have more than 8 characters", Toast.LENGTH_SHORT ).show() } else { name=binding.editNameTxt.text.toString() email=binding.editEmailTxt.text.toString() password=binding.editPasswordTxt.text.toString() mAuth.createUserWithEmailAndPassword( email, password ).addOnCompleteListener(requireActivity()) { task -> if (task.isSuccessful) { homeViewModel.setUserData( mAuth.currentUser?.uid, name, email, "" ) val home = HomeFragment() val navigationUseCase = switchFragmentUsecase( requireActivity().supportFragmentManager, R.id.logFragment ) navigationUseCase.navigateToFragment(home) } else { Toast.makeText( requireActivity(), "Account is not registered", Toast.LENGTH_SHORT ).show() } } } } } } } [/code] } Подробнее здесь: [url]https://stackoverflow.com/questions/78302522/user-is-not-getting-registered[/url]