简体   繁体   English

zk验证中的问题

[英]Issue in zk validation

I'm using validation with zk input constraints. 我正在使用带有zk输入约束的验证。 When clicking the save button, doSave is still called, but it should not be. 单击“保存”按钮时,仍会调用doSave ,但不应调用。

I want to do when it's trigger, the save operation must be stop. 我想在触发时做,保存操作必须停止。

Another issue is, that zk allows % in Intbox . 另一个问题是,zk在Intbox允许%。

Here is what I have tried. 这是我尝试过的。

validation.zul validation.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>

Validation.java Validation.java

 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);
}

}

Thanks Himanshu 谢谢Himanshu

Please read this part of zk doc. 请阅读zk doc的这一部分。 It explains how to avoid 它说明了如何避免
the calling of databinding methods if validation fails. 如果验证失败,则调用数据绑定方法。

If you want your input to (not) accept % , use a textbox with regex . 如果您希望输入(不)接受% ,请使用带有regex文本框
If you want to mask your input, look here . 如果您想掩盖您的输入, 请看这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM