Как я могу запретить пользователям вводить нулевые тексты? - PullRequest
0 голосов
/ 01 мая 2019

Я настраиваю базу данных и хочу запретить пользователям добавлять пустые тексты. Как я могу пойти об этом? В чем проблема с кодом ниже?

public void AddData () {
        addbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                    if (name != null && surname != null && marks != null) {

                    String name1 = name.getText().toString();
                    String surname1 = surname.getText().toString();
                    String marks1 = marks.getText().toString();

                    boolean isInserted = mydb.insertdata(name1, surname1, marks1);

                    if (isInserted) {
                        Toast.makeText(MainActivity.this, "Data entered successfully", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Failed to enter Data", Toast.LENGTH_LONG).show();
                    }

                    }else if (name == null && surname == null && marks == null)  {
                        Toast.makeText(MainActivity.this, "Please enter Data", Toast.LENGTH_LONG).show();
                    }
            }
        });

}

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Давайте рассмотрим использование библиотеки Guava и метода isNullOrEmpty, который весьма полезен.

0 голосов
/ 01 мая 2019

Вы просто хотите проверить длину строки.

public void AddData () {
        addbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



                    String name1 = name.getText().toString();
                    String surname1 = surname.getText().toString();
                    String marks1 = marks.getText().toString();

                    if (name1.length() > 0 && surname1.length() > 0 && marks.length() > 0) {

                    boolean isInserted = mydb.insertdata(name1, surname1, marks1);

                    if (isInserted) {
                        Toast.makeText(MainActivity.this, "Data entered successfully", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Failed to enter Data", Toast.LENGTH_LONG).show();
                    }

                    }else if (name == null && surname == null && marks == null)  {
                        Toast.makeText(MainActivity.this, "Please enter Data", Toast.LENGTH_LONG).show();
                    }
            }
        });

}

Вы также можете написать функцию для проверки ввода:

private boolean validateInput(String input) {

    if(input == null)
        return false;

    if( input.length == 0)
        return false;


    //... Other validation checks

    return true;
}

Но вы не простохочу проверить данные на основе длины.Ваша проверка ввода должна отражать тип данных, которые вы ожидаете.Например, если вы ищете номер телефона, вы должны удалить любые символы, не являющиеся частью номера телефона.Вы не хотели бы, чтобы кто-то вводил свой адрес электронной почты в поле ввода номера вашего телефона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...