0
爲什麼它不起作用whith regexp \ p {InCyrillic}? 我試過\ p {L}但它不起作用。 我的代碼在ZUL:zkoss textbox constraint =「/ p {InCyrillic} * /」
textbox id="box" hflex="1" constraint="/\p{InCyrillic}*/"
爲什麼它不起作用whith regexp \ p {InCyrillic}? 我試過\ p {L}但它不起作用。 我的代碼在ZUL:zkoss textbox constraint =「/ p {InCyrillic} * /」
textbox id="box" hflex="1" constraint="/\p{InCyrillic}*/"
實現自己的約束:
package com.upc.webcallcentr4zk.controller.constraints;
import java.io.Serializable;
import java.util.regex.Pattern;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zul.Constraint;
import org.zkoss.zul.Textbox;
public class PatterenCostraints implements Constraint, Serializable {
private static final long serialVersionUID = 4052163775381888061L;
private Pattern pattern;
public PatterenCostraints(String pattern) {
this.pattern = Pattern.compile(pattern);
}
@Override
public void validate(Component comp, Object value) throws WrongValueException {
if (comp instanceof Textbox) {
String enteredValue = (String) value;
if (enteredValue.isEmpty()) {
throw new WrongValueException(comp, "Bla bla bla!");
} else if (!pattern.matcher(enteredValue).matches()) {
throw new WrongValueException(comp, "Bla bla bla!");
}
}
}
}
之後:
keywordBox.setConstraint(new PatterenCostraints("^(\\p{IsCyrillic}*)$"));
很好的實現! – Nikos
你想要什麼約束的地方你能簡單介紹一下 – 2013-08-02 04:39:49
只有西裏爾字母。 – kotygoroshko
我不認爲它會這樣工作,所以你必須在這裏給出一些正則表達式,因爲如果你在約束條件下寫英文,並不意味着它會帶英文字母。 – 2013-08-02 08:47:15