Как проверить несколько правок текста?Я использую TextUtils могу получить только 1 текст - PullRequest
0 голосов
/ 27 августа 2018

Как проверить и подтвердить, что все данные имеют значение, тогда только они хранят данные?Поскольку я написал TextUtils.isEmpty(e_Name.getText()), затем сохраните данные, он будет проверять только один.Я хотел проверить все значения Edittext, а затем разрешить хранить все данные.Я не могу поставить else if, так как он будет идти один за другим, ОДНАЖДЫ я нажал кнопку Сохранить.Есть ли какая-нибудь подсказка?Заранее спасибо ...

Here Is the Image

ЗДЕСЬ КОД

public void setOnClick() {
    Save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            {
                if(TextUtils.isEmpty(e_Name.getText())){
                    e_Name.setError("INSERT NAME");
                }else{
                    boolean isInserted = myDb.insertData(e_Txn.getText().toString(),
                            e_Name.getText().toString(),
                            e_Amount.getText().toString(),
                            Display_date.getText().toString().trim(),
                            e_Description.getText().toString(),
                            Description.getSelectedItem().toString());

                    if (isInserted == true) {
                        Toast.makeText(Donation.this, "Data Inserted", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(Donation.this, "Data not Inserted", Toast.LENGTH_LONG).show();
                    }
                }

            }

        }

    });

Ответы [ 4 ]

0 голосов
/ 27 августа 2018

Вы должны проверять каждого с помощью оператора if, а не if else, например:

boolean allValid = true;

if (TextUtils.isEmpty(e_Name.getText())) {
    allValid = false;
    // do other stuff
}
if (TextUtils.isEmpty(e_Amount.getText())) {
    allValid = false;
    // do other stuff
}
if (TextUtils.isEmpty(e_Description.getText())) {
    allValid = false;
    // do other stuff
}
// finally do what you want if allValid = false
if (!allValid) {
    // your code
} else {
    // all fields are valid
}
0 голосов
/ 27 августа 2018

Самый простой способ будет

if(isValid()){
  // process data here
}

Сделать этот метод.

private boolean isValid(){
    if(TextUtils.isEmpty(e_Name.getText())){
       e_Name.setError("this field can not be blank");
       return false;
    } else if (TextUtils.isEmpty(et_amount.getText())){
       et_amount.setError("this field can not be blank");
       return false;
    } else if (...) so on 
    return true;
}
0 голосов
/ 27 августа 2018

Попробуйте:

Вот мой код

   next.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v)
        {
            if(Validations.validateForNull(edit_fname, mContext.getResources().getString(R.string.empty_first_name)));
            {
                if(Validations.validateForNull(edit_lname, mContext.getResources().getString(R.string.empty_last_name)))
                {
                    if(Validations.validateEmail(edit_email ,mContext.getResources().getString(R.string.empty_email_msg), mContext.getResources().getString(R.string.invalid_email_msg)))
                    {

                        if (Validations.validateForNull(edit_mobile_no, mContext.getResources().getString(R.string.empty_phone_number)))
                        {
                            if (Utils.isConnectingToInternet(mContext)){
                                checkProviderExistApi();

                            }
                            else {
                                Utils.showShortToast(mContext,"Internet not connected");
                            }

                              email=edit_email.getText().toString();
                              String phn=edit_mobile_no.getText().toString();
                              number=phn.replaceAll("\\D", "");
                              Log.e("number--",""+number);
                              first_name=edit_fname.getText().toString();
                              last_name=edit_lname.getText().toString();

                        }else {
                            check_phone.setVisibility(View.GONE);
                        }
                    }else {
                        check_email.setVisibility(View.GONE);
                    }
                }
            }
        }

    });

Валидации - это мой класс утилит, я думаю, что он вам поможет.

0 голосов
/ 27 августа 2018

Вы можете попробовать этот код .Может быть, нет другого способа проверить все сразу.

if(TextUtils.isEmpty(e_Name.getText().toString()) ||
  TextUtils.isEmpty(e_Amount.getText().toString()) ||
  TextUtils.isEmpty(Display_date.getText().toString()) ||
  TextUtils.isEmpty(e_Description.getText().toString()) ||
  TextUtils.isEmpty(Description.getSelectedItem().toString())){
  //Some edittext has no value
  //Warning the field!
}else {
//Do your job here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...