我的html中有三个文本框,用户可以在其中输入值。在我的java类中,我正在进行验证以检查是否输入了多个输入框。如果用户在两个/三个文本框中输入了值,我需要抛出一条错误消息。如果他没有在三个文本框中输入值,我也打算抛出错误信息。我的代码是这样的。
if(!dId.equals("") && !PId.equals("") && !PPup.equals("")){
result.addError(new ErrorBO("only one should only be entered"));
}
if(dId.equals("") && PId.equals("") && PPup.equals("")){
result.addError(new ErrorBO(" one should be entered"));
}
dId,PId,PPup是我拥有自己价值观的变量。对于用户在两个文本框中输入值的情况,此代码失败。是否有简化的方法来检查所有案例。
答案 0 :(得分:1)
int numEntered = 0
if(!dId.equals("")) numEntered ++;
if(!pId.equals("")) numEntered ++;
if(!pPup.equals("")) numEntered ++;
if(numEntered != 1) result.addError(new ErrorBO("Enter values in one text box"));
基本上,每次文本框输入时都会增加计数器。如果除了其中一个之外的任何内容都有文本,请返回错误。