Back End

user_9521032 avatar
user_9521032
kotlin
04/18/2024 4:10 AM
4.0 KB
42
Indexable
package org.freedu.coredisign

import android.media.MediaCodec.CryptoInfo.Pattern
import android.os.Bundle
import android.util.Patterns
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {
    lateinit var usernameEt:EditText
    lateinit var emailEt:EditText
    lateinit var passEt:EditText
    lateinit var conPassEt:EditText
    lateinit var registerBtn:Button
    lateinit var loginTxt:TextView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        usernameEt = findViewById(R.id.usernameEt)
        emailEt = findViewById(R.id.emailEt)
        passEt = findViewById(R.id.passEt)
        conPassEt = findViewById(R.id.conPassEt)
        registerBtn = findViewById(R.id.registerBtn)
        loginTxt = findViewById(R.id.loginTxt)



        registerBtn.setOnClickListener {
            val username = usernameEt.text.toString()
            val email = emailEt.text.toString()
            val password = passEt.text.toString()
            val confirmPassword = conPassEt.text.toString()

            if(username.isEmpty() || email.isEmpty() || password.isEmpty() || confirmPassword.isEmpty()){
                Toast.makeText(this, "Please fill up all fields", Toast.LENGTH_SHORT).show()
            }else if(password != confirmPassword){
                Toast.makeText(this, "Password doesn't matched", Toast.LENGTH_SHORT).show()
            }else if(!Patterns.EMAIL_ADDRESS.matcher(email).matches() || !email.toString().endsWith("@dipti.com.bd")){
                Toast.makeText(this, "Your email isn't valid, please ensure your email is from DIPTI", Toast.LENGTH_SHORT).show()
            }else if(!validatePassword(confirmPassword)){
                Toast.makeText(this, "Your password must be contain one Uppercase, one lowercase, one special character, one digit and minimum length 8.", Toast.LENGTH_SHORT).show()
            }else{
                Toast.makeText(this, "Registration successful", Toast.LENGTH_SHORT).show()
            }
        }

        loginTxt.setOnClickListener {
            Toast.makeText(this, "Welcome to login Activity", Toast.LENGTH_SHORT).show()
        }


    }
    fun validatePassword(password: String): Boolean {
        val upperCasePattern = Regex("[A-Z]")
        val lowerCasePattern = Regex("[a-z]")
        val digitPattern = Regex("\\d")
        val specialCharacterPattern = Regex("[^A-Za-z0-9]")

        return password.length >= 8 &&
                upperCasePattern.containsMatchIn(password) &&
                lowerCasePattern.containsMatchIn(password) &&
                digitPattern.containsMatchIn(password) &&
                specialCharacterPattern.containsMatchIn(password)
    }
}
Editor is loading...
Leave a Comment