Java zk验证中的问题
我正在使用zk输入约束的验证。单击保存按钮时,Java zk验证中的问题,java,zk,Java,Zk,我正在使用zk输入约束的验证。单击保存按钮时,doSave仍被调用,但不应被调用 我想在触发时执行,保存操作必须停止 另一个问题是,zk在Intbox中允许% 这是我试过的 验证.zul <zk> <window width="100%" height="100%" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('com.test.Validation')"> <
doSave
仍被调用,但不应被调用
我想在触发时执行,保存操作必须停止
另一个问题是,zk在Intbox
中允许%
这是我试过的
验证.zul
<zk>
<window width="100%" height="100%"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('com.test.Validation')">
<toolbar id="listToolbarProcess" sclass="vista" height="20px"
align="start">
<toolbarbutton label="Save" onClick="@command('doSave')" ></toolbarbutton>
</toolbar>
<vlayout sclass="vertical-scroll" vflex="1">
<intbox id="priority" value="@bind(vm.value)" maxlength="3"
constraint="no empty" ></intbox>
<datebox value="@bind(vm.date)"></datebox>
</vlayout>
</window>
谢谢
希曼苏请阅读zk文件的部分内容。它解释了如何避免验证失败时调用数据绑定方法。
如果希望您的输入(不)接受
%
,请使用。如果您想屏蔽您的输入,.zk validate%并显示验证消息,但我的问题是用户应该像字符或任何其他字符一样在Intbox中输入%。intbox只允许整数值。awnser是相同的。使用带有正则表达式的文本框,这样你就可以定义你想要的一切。嗨,Nabil ZK不支持这种类型的验证Nabil,我想你没有得到@Kabuni点,因为他提到他可以在intbox中输入“%”,这看起来不像是一个bug吗?一个人如何在intbox中输入%?在intbox中插入%有什么意义吗?据我所知,ZK团队可以在intbox中添加一个属性,类似于前缀=“$”或前缀=“%”等。这看起来很容易,否则每个人都必须添加额外的验证以防止用户插入%。
package com.test;
import java.sql.Timestamp;
import org.zkoss.bind.annotation.AfterCompose;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ContextParam;
import org.zkoss.bind.annotation.ContextType;
import org.zkoss.zk.ui.Component;
public class Validation {
/**
* @author Himanshu
*/
Integer value;
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
Timestamp date;
public Timestamp getDate() {
return date;
}
public void setDate(Timestamp date) {
this.date = date;
}
@AfterCompose
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {
}
@Command
public void doSave() {
System.out.println(" value =" + value);
System.out.println(" Date Value =" + date);
}
}