输入文本验证何时为空
我有三个依赖文本框。即部门,班级和子类别。当部门填写inputText的类是启用的,并且当preecho将子类启用时。为了使这个过程没有困难。但是,我不能做出我删除时的逆向过程,例如,部门的值应该禁用类并删除它的值。 我无法做到这一点,因为它是由事件,当它是空的不会触发新的事件,因此不会进入我的其他人,如果。 所有文本框都具有自动建议行为,该类取决于选定的部门和类的子类。 对于类和子类都有关联的partialtriggers。输入文本验证何时为空
我输入文本部门代码是(与valuechangelistener setdepartment()):
public void setDepartment(ValueChangeEvent valueChangeEvent) {
DCIteratorBinding dc2 = (DCIteratorBinding)evaluteEL("#{bindings.ScpClassView1Iterator}");
ViewObject vo2 = dc2.getViewObject();
vo2.applyViewCriteria(vo2.getViewCriteriaManager().getViewCriteria("ScpClassViewCriteria"));
if (it7.getValue() == null) {
vo2.ensureVariableManager().setVariableValue("P_Dept", null);
} else {
String deptIdDesc = valueChangeEvent.getNewValue().toString();
int indexOfSeparator = deptIdDesc.indexOf("-");
String deptId = deptIdDesc.substring(0, indexOfSeparator - 1);
vo2.ensureVariableManager().setVariableValue("P_Dept", deptId);
}
vo2.executeQuery();
if (valueChangeEvent.getNewValue().toString().isEmpty()) {
getIt8().setDisabled(true);
} else {
getIt8().setDisabled(false);
}
你尝试在调试模式下运行代码,并设置setDepartment方法中的断点?它将确认是否在清除部门输入数据时调用setDepartment方法。另外,看看你的代码,我觉得它会在输入为空时抛出异常。 if (it7.getValue() == null)
在您清除数据时将评估为false,而是使用it7代替空白值。在这里你需要使用if (valueChangeEvent.getNewValue().toString().isEmpty())
Amishra,我使用这个if(it7.getValue()== null || it7.getValue()。equals(“”)|| it7.getValue()。toString()。isEmpty())和工作。非常感谢你。对我来说非常重要。 – 2014-12-02 18:44:19
然后批准答案;) – 2014-12-03 07:57:25
为我们提供了更好的解决方案的源代码.. – Sarath 2014-12-02 10:41:13