为了账号安全,请及时绑定邮箱和手机立即绑定

如何在登录活动中验证用户名

如何在登录活动中验证用户名

墨色风雨 2023-06-14 16:34:12
我是这个 Android 的新手,所以如果这个问题会让你发笑,我很抱歉。最近我正在尝试有关“使用 SQLite 创建登录屏幕”的 Android 教程。我成功地创建了该登录名以及 Register 和 SQLite DB。我想知道的是如何将文本输入从电子邮件更改为用户名。我已经搜索了如何将验证从电子邮件更改为用户名的代码,但仍然没有得到。仅供参考,我在数据库中创建了用户名表。public boolean validate() {    boolean valid = false;    // Get values from EditText fields    String Email = editTextUsername.getText().toString();    String Password = editTextPassword.getText().toString();    // Handling validation for Email Address    if (!android.util.Patterns.EMAIL_ADDRESS.matcher(Email).matches()){        valid = false;        textInputLayoutUsername.setError("Input Correct Username");    } else {        valid = true;        textInputLayoutUsername.setError(null);    }}这是我的登录屏幕。我不得不将文本从电子邮件更改为用户名EditText。但是当我运行它时,EditText总是会验证电子邮件。我认为这一行有一些需要改变的地方。!android.util.Patterns.EMAIL_ADDRESS.matcher(Email).matches()感谢之前的所有帮助,我真的很感激。
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您当前的实施是验证来自的输入editTextUsername并尝试验证输入是否是有效的电子邮件地址。如果您不希望这样,只需在您的代码中删除针对此特定视图的验证,如下所示。


public boolean validate() {

    boolean valid = false;


    //Get values from EditText fields

    String userName = editTextUsername.getText().toString();

    String Password = editTextPassword.getText().toString();


    // Handle the validation for the user name. 

    // Let us assume, you just want to validate that the user has put something as a user name

    if(userName.length() > 0) {

        valid = true;

        textInputLayoutUsername.setError(null);

    } else {

        valid = false;

        textInputLayoutUsername.setError("Please provide the user name.");

    }

}

您可以随时更改验证逻辑。我只是举了一个例子。希望对您有所帮助!


查看完整回答
反对 回复 2023-06-14
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

只需使用纯文本字段并在后端代码 ( [A-Za-z0-9]* ) 中使用正则表达式来验证您的输入。


//it's saying if email contains alpnum char and ._- of length min 3 i.e >=3 then its true

if(Email.matches(^[a-zA-Z0-9._-]{3,}$)) {

   // valid input code

} else {

  // invalid input code

}


查看完整回答
反对 回复 2023-06-14
?
交互式爱情

TA贡献1712条经验 获得超3个赞

请检查打击代码。


公共布尔验证(){


    //Get values from EditText fields

    String userName = editTextUsername.getText().toString().trim();

    String Password = editTextPassword.getText().toString().trim();



    if (userName.isEmpty()) {


        //set error message 

        return  false;

    } else if (Password.isEmpty()) {

        //set error message 

        return  false;

    } else if (Password.length()<6 || Password.length()>15) {

        // set error message

        return  false;

    }


    return  true;


}


查看完整回答
反对 回复 2023-06-14
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信