我的“UserInputSpec.xml”文件中有一个字段描述。
<field type="radio" variable="selected.source" >
<description align="left" txt="Please select TBPAPIIntegrator data source:" id="combo.text" />
<spec>
<choice txt="IMKB Server" id="combo.item.imkb" value="imkb"/>
<choice txt="Exernal Database" id="combo.item.database" value="db"/>
</spec>
<validator class="com.j32bit.installer.validator.SelectSourceValidator" txt="Please select one source!" >
<param name="selected.source" value="${selected.source}"/>
</validator>
</field>
这是我的验证器类:
package com.j32bit.installer.validator;
import java.util.Map;
import com.izforge.izpack.panels.ProcessingClient;
import com.izforge.izpack.panels.Validator;
public class SelectSourceValidator implements Validator{
@Override
public boolean validate(ProcessingClient client) {
Map<String, String> params = client.getValidatorParams();
if( params.get("selected.source").equals("imkb")
|| params.get("selected.source").equals("db"))
return true;
return false;
}
}
在“Installer.xml”中还有如下可变减速:
<variables>
<variable name="selected.source" value="" />
</variables>
单选按钮未选中。如果我单击“下一步”按钮安装程序继续下一页并且验证不起作用,则按钮仍然未选中。
请帮忙!提前致谢。