comboBox和phn no的验证器

时间:2016-08-04 16:40:02

标签: codenameone

ComboBox companyCity = new ComboBox();
companyCity.setUIID("TextField");
companyCity.addItem("Choose City");
for (Map<String, Object> entry : alacc.responseCity) {
    String cityName = (String) entry.get("name");
    companyCity.addItem(cityName);
}

TextField companyPhone = new TextField();
companyPhone.setHint("Phone");

1)对于组合框,使用addConstraint(companyCity,new LengthConstraint(2))不起作用,因为它有&#34;选择城市&#34;文字已经。我们是否有任何其他约束,特别是对于comboBox?

2)此外,我必须验证电话号码。我使用过addConstraint(companyPhone,新的RegexConstraint(phoneRegex,&#34;必须是有效的电话号码&#34;));但是这里的phoneRegex是什么? 我必须使用自己的正则表达式吗?例如final String phoneRegex =&#34; ^((\ d {3} - | \(\ d {3} \)\ s?)?\ d {3} - | ^ \ d {3}(\。) ?\ d {3} \ 3)\ d {4} $&#34 ;; 如果是这样,为什么它没有定义为url regex,email regex等的默认值?

3)当我使用&#34; addConstraint(companyPhone,新的RegexConstraint(phoneRegex,&#34;必须是有效的电话号码&#34;));&#34;错误消息即。 &#34;必须是有效的电话号码&#34;并没有出现在 textfield。如何显示错误消息?

1 个答案:

答案 0 :(得分:1)

  1. 没有。您需要为组合框选择创建约束。

  2. 正确验证电话比使用电子邮件更复杂一些。我们没有一个像样的正则表达版本。

  3. 使用setShowErrorMessageForFocusedComponent(true)