2011-12-13 50 views
0

我想在提交之前验证表单中的用户输入,但它允许所有空字段经过...任何想法?我想 “”,而不是零,以及...Java EditText验证不起作用

public void onClick(View v) { 
       EditText agencyname = (EditText) findViewById(R.id.agencyname); 
       String agency = agencyname.getText().toString(); 
       EditText firstname = (EditText) findViewById(R.id.firstname); 
       String first = firstname.getText().toString(); 
       EditText lastname = (EditText) findViewById(R.id.lastname); 
       String last = lastname.getText().toString(); 
       EditText phone = (EditText) findViewById(R.id.phone); 
       String agencyphone = phone.getText().toString(); 
       EditText email = (EditText) findViewById(R.id.email); 
       String agencyemail = email.getText().toString(); 
       if(agency != null || first != null || last != null || agencyphone != null || agencyemail != null){ 
      Intent i = new Intent(); 
      i.setClassName("android.com.smartchoice", "android.com.smartchoice.AgencyRecieve"); 
      i.putExtra("agencyname", agency); 
      i.putExtra("phone", agencyphone); 
      i.putExtra("email", agencyemail); 
      i.putExtra("firstname", first); 
      i.putExtra("lastname", last); 
      startActivity(i); 
       } 
       else 
       { 
        Toast.makeText(NewAgencyActivity.this, "Must Input All Fields", Toast.LENGTH_LONG).show(); 
       }; 


     } 

回答

0
  1. 呼叫agency.isEmpty()等检查空字符串("")。
  2. 如果你想所有该字段是非空的,使用和(&&)而不是或(||)。
+0

当我尝试isEmpty()是说方法是未定义的。我试着agency.length()== 0,它仍然让我提交空字段。 – savagenoob

+0

根据http://developer.android.com/reference/java/lang/String.html#isEmpty%28%29,应该不是这样,尽管'agency.length()== 0'应该可以工作以及。你确定你正在使用'&&'? –

+0

是的,我改成了&&,我弄明白了,我是用==代替!= – savagenoob