Java 如何使用弹出消息或警报对话框验证多个edittext字段?
我想知道如何验证我的4个edittext字段,如果点击按钮处理输入后其中一个或多个字段为空。我已经搜索了很多解决方案,比如使用toast,但它认为不适合多个edittext字段和使用textwatchers。我希望应用程序显示一个弹出消息或警告对话框,上面写着“请填写必要的字段”Java 如何使用弹出消息或警报对话框验证多个edittext字段?,java,android,eclipse,validation,null,Java,Android,Eclipse,Validation,Null,我想知道如何验证我的4个edittext字段,如果点击按钮处理输入后其中一个或多个字段为空。我已经搜索了很多解决方案,比如使用toast,但它认为不适合多个edittext字段和使用textwatchers。我希望应用程序显示一个弹出消息或警告对话框,上面写着“请填写必要的字段” 任何帮助都将不胜感激。您可以使用一些工具提示进行验证,如qtip或poshytip 编写验证函数以检查所有文本字段,并将tooltip对象附加到验证失败的相应字段。u可以使用一些工具提示进行验证,如qtip或pos
任何帮助都将不胜感激。您可以使用一些工具提示进行验证,如qtip或poshytip
编写验证函数以检查所有文本字段,并将tooltip对象附加到验证失败的相应字段。u可以使用一些工具提示进行验证,如qtip或poshytip
编写验证函数以检查所有文本字段,并将验证失败的相应字段附加到tooltip对象。最简单的解决方法是检查字段是否为空,然后在此处显示对话框是简单的代码段
private void checkEntries()
{
if(!(email.getText().toString().equals("")))
{
if(!(pass.getText().toString().equals("")))
{
if(UIHelper.getInstance().emailAddressValidation(email.getText().toString()))
{
if(pass.getText().length()>=5)
{
sendLoginRequest(email.getText().toString(),pass.getText().toString(),Constants.PHONE_ID);
}
else
{
dialogBoxInUIthread("String","Password length should be greater than 5 ",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Invalid Email Id",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Please enter password",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Please enter email",LoginController.this,true);
}
}
private void dialogBoxInUIthread(final String title,final String msg, Context context,final boolean completed) {
/* runOnUiThread(new Runnable() {
public void run() {*/
AlertDialog.Builder alertbox = new AlertDialog.Builder(LoginController.this);
alertbox.setTitle(title);
alertbox.setMessage(msg);
alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
if(completed){
}else{ }
}
});alertbox.show();
/* }
});*/
}
最简单的解决方法是检查字段是否为空,然后在此处显示对话框是简单的代码段
private void checkEntries()
{
if(!(email.getText().toString().equals("")))
{
if(!(pass.getText().toString().equals("")))
{
if(UIHelper.getInstance().emailAddressValidation(email.getText().toString()))
{
if(pass.getText().length()>=5)
{
sendLoginRequest(email.getText().toString(),pass.getText().toString(),Constants.PHONE_ID);
}
else
{
dialogBoxInUIthread("String","Password length should be greater than 5 ",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Invalid Email Id",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Please enter password",LoginController.this,true);
}
}
else
{
dialogBoxInUIthread("String","Please enter email",LoginController.this,true);
}
}
private void dialogBoxInUIthread(final String title,final String msg, Context context,final boolean completed) {
/* runOnUiThread(new Runnable() {
public void run() {*/
AlertDialog.Builder alertbox = new AlertDialog.Builder(LoginController.this);
alertbox.setTitle(title);
alertbox.setMessage(msg);
alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
if(completed){
}else{ }
}
});alertbox.show();
/* }
});*/
}
单击按钮时使用此验证功能,可以在方法执行后检查警报消息
boolean flag_1= true,flag_2=true,flag_3=true;
String alertmsg;
单击按钮时使用此验证功能,可以在方法执行后检查警报消息
boolean flag_1= true,flag_2=true,flag_3=true;
String alertmsg;
试试这个:
编辑:
public boolean formIsValid(RelativeLayout layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
Class<? extends View> c = v.getClass();
if (c == EditText.class) {
EditText et = (EditText) v;
if(et.getText().toString().equals(""))
return false;
//Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();
}
}
return true;
}
点击流程输入按钮的onClick
:
RelativeLayout rl = (RelativeLayout) findViewById(R.id.mRlayout1);
boolean success = formIsValid(rl);
if(success == false){
// alert dialog box
}
else{
// process ahead
}
声明此函数:
编辑:
public boolean formIsValid(RelativeLayout layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
Class<? extends View> c = v.getClass();
if (c == EditText.class) {
EditText et = (EditText) v;
if(et.getText().toString().equals(""))
return false;
//Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();
}
}
return true;
}
public boolean formIsValid(相对布局){
对于(int i=0;i
编辑:
public boolean formIsValid(RelativeLayout layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
Class<? extends View> c = v.getClass();
if (c == EditText.class) {
EditText et = (EditText) v;
if(et.getText().toString().equals(""))
return false;
//Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();
}
}
return true;
}
点击流程输入按钮的onClick
:
RelativeLayout rl = (RelativeLayout) findViewById(R.id.mRlayout1);
boolean success = formIsValid(rl);
if(success == false){
// alert dialog box
}
else{
// process ahead
}
声明此函数:
编辑:
public boolean formIsValid(RelativeLayout layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
Class<? extends View> c = v.getClass();
if (c == EditText.class) {
EditText et = (EditText) v;
if(et.getText().toString().equals(""))
return false;
//Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();
}
}
return true;
}
public boolean formIsValid(相对布局){
对于(int i=0;i 类您可以使用以下常用函数检查edittext的空值:
您可以使用以下通用函数检查edittext的空值:
使用setError.eg/-edittext.setError(“”);这是否适用于验证多个字段?如果user@AprilMosca如果我的解决方案能帮助您解决问题,您可以接受。您找到解决方案了吗?请使用setError.eg/-edittext.setError(“”);这是否适用于验证多个字段?如果一个或多个字段被user@AprilMosca如果我的解决方案有助于你解决问题,你可以接受。你找到解决方案了吗?对我来说有点太高级了。无论如何,谢谢你的帮助。检查一下这个小提琴手。希望它对我来说简单。对我来说有点太高级了。谢谢不管怎样,这都是需要帮助的。检查一下这个小提琴手。希望它对用户界面很容易。我在布尔success=formIsValid(rl)中得到了关于success变量的警告;在类中,它还表示类是原始类型。@AprilMosca请查看我编辑的解决方案。这将完全符合您的要求。我在boolean success=formIsValid(rl)中收到一条关于success变量的警告;而且在类中,它还表示类是原始类型。@AprilMosca可以查看我编辑的解决方案。这将完全符合您的要求。我收到了有关公共静态void checkentryforeptyvalue(EditText p_EditText,String p_nullMsg)的错误,它表示只允许对参数字符串和final使用非法修饰符,并且checkEntryForEmptyValue不能解析为类型。这是否适用于多个字段?您能告诉我如何使用它吗?是的,它适用于多个字段。我收到了有关公共静态无效checkEntryForEmptyValue的错误(EditText p_EditText,String p_nullMsg),它表示只允许对参数字符串和final使用非法修饰符,而且checkEntryForEmptyValue不能解析为类型。这是否适用于多个字段?您能告诉我如何使用它吗?是的,它适用于多个字段。