猿问

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

我是这个 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()

感谢之前的所有帮助,我真的很感激。


墨色风雨
浏览 142回答 3
3回答

BIG阳

您当前的实施是验证来自的输入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.");    }}您可以随时更改验证逻辑。我只是举了一个例子。希望对您有所帮助!

慕莱坞森

只需使用纯文本字段并在后端代码 ( [A-Za-z0-9]* ) 中使用正则表达式来验证您的输入。//it's saying if email contains alpnum char and ._- of length min 3 i.e >=3 then its trueif(Email.matches(^[a-zA-Z0-9._-]{3,}$)) {   // valid input code} else {  // invalid input code}

交互式爱情

请检查打击代码。公共布尔验证(){&nbsp; &nbsp; //Get values from EditText fields&nbsp; &nbsp; String userName = editTextUsername.getText().toString().trim();&nbsp; &nbsp; String Password = editTextPassword.getText().toString().trim();&nbsp; &nbsp; if (userName.isEmpty()) {&nbsp; &nbsp; &nbsp; &nbsp; //set error message&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return&nbsp; false;&nbsp; &nbsp; } else if (Password.isEmpty()) {&nbsp; &nbsp; &nbsp; &nbsp; //set error message&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return&nbsp; false;&nbsp; &nbsp; } else if (Password.length()<6 || Password.length()>15) {&nbsp; &nbsp; &nbsp; &nbsp; // set error message&nbsp; &nbsp; &nbsp; &nbsp; return&nbsp; false;&nbsp; &nbsp; }&nbsp; &nbsp; return&nbsp; true;}
随时随地看视频慕课网APP

相关分类

Java
我要回答