Как проверить более одной части данных формы в диалоговом окне, используя библиотеку ниже? - PullRequest
0 голосов
/ 22 мая 2019

У меня при нажатии на кнопку появляется диалоговое окно, запрашивающее у пользователя информацию о регистрации.Я хочу проверить информацию, если электронное письмо является электронным письмом, если пароль совпадает с паролем подтверждения и т. Д. Я хочу использовать предоставленную ниже библиотеку.Если есть лучшая библиотека или метод, можете ли вы предоставить этот метод или ссылку на что-то, что хорошо мне поможет.Попытка создать страницу регистрации пользователя в kotlin

Итак, я попытался следовать некоторой документации, чтобы добавить проверку, но если имеется более одного поля EditText, приложение просто вылетает после нажатия кнопки регистрации в приложении.,В документации упоминается что-то о представлении переработчика.Но не знаю, как реализовать это для этого.

 implementation 'com.afollestad.material-dialogs:input:3.0.0-beta2'
 implementation 'com.afollestad.material-dialogs:core:3.0.0-beta2'

register_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 
       xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         >

 <LinearLayout

        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <EditText
            android:id="@+id/name"
            android:layout_margin="8dp"
            android:hint="Name"
            android:inputType="text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

    <EditText
            android:id="@+id/r_email"
            android:hint="Email"
            android:inputType="textEmailAddress"
            android:layout_margin="8dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    <EditText
            android:id="@+id/r_city"
            android:hint="City"
            android:inputType="text"
            android:layout_margin="8dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    <EditText
            android:id="@+id/r_password"
            android:hint="Password"
            android:inputType="textPassword"
            android:layout_margin="8dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    <EditText
            android:id="@+id/r_confirmPassword"
            android:hint="Confirm password"
            android:layout_margin="8dp"
            android:inputType="textPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>



 </LinearLayout>




 </FrameLayout>

SigninActivity.kt

 link_signup.setOnClickListener {
        register()
    }

    link_forgot.setOnClickListener {
        forgot()

    }

 }

 private fun forgot() {
    val forgot_layout = LayoutInflater.from(this@SignInActivity)
        .inflate(R.layout.forgot_layout, null)

    MaterialDialog(this).show {
        title(text = "Recovery")
        message(text = "Forgot your passsword?")
        icon(R.drawable.ic_reset)
        cancelable(true)  // calls setCancelable on the underlying 
  dialog
        cornerRadius(10f)
        cornerRadius(res = R.dimen.my_corner_radius)
        input(waitForPositiveButton = false, hint = "Email") { 
      dialog, text ->
            val inputField = dialog.getInputField()
            val isValid = text.startsWith("a", true)

            inputField?.error = if (isValid) null else "Must be a 
    valid email!"
            dialog.setActionButtonEnabled(WhichButton.POSITIVE, 
    isValid)
        }
        positiveButton(text = "Submit")
    }


}

private fun register() {

    MaterialDialog(this).show {
        title(text = "Create an account")
        message(text = "Please fill out the information below?")
        customView(R.layout.register_layout, scrollable = true)
        icon(R.drawable.ic_user)
        cancelable(true)  // calls setCancelable on the underlying 
     dialog
        cornerRadius(10f)
        cornerRadius(res = R.dimen.my_corner_radius)
        positiveButton(text = "submit")

    }

Как уже упоминалось выше, я хотел быбыть в состоянии проверить несколько проверок для нескольких окон EditText.

...