【问题标题】:How to do client-side on-the-fly field validation on proxy entities?如何对代理实体进行客户端即时字段验证?
【发布时间】:2012-03-09 03:56:19
【问题描述】:

你们能否给我一些建议,如何在 GWT 应用程序中即时对字段进行客户端验证?

我说的是在失去焦点后检查字段的值,以便通知用户需要修复。

我很困惑,因为我使用的是 RequestFactory,所以在客户端没有 JSR 303 引用的真正的 bean。

另外,我想超越 @NotNull 或 @Size 的限制。例如,我希望能够检查电子邮件是否输入正确,或者邮寄地址是否包含建筑物编号等。

库和代码示例的链接将非常有帮助。

【问题讨论】:

    标签: validation gwt bean-validation requestfactory gwt2


    【解决方案1】:

    用于动态验证 - Regex 和 ChangeListener 是您的朋友。

    为您的文本框字段注册更改侦听器。

    对可接受的电子邮件地址的内容执行正则表达式。

    http://www.regular-expressions.info/email.html

    myTextBox.addChangeListener( new ChangeListener() {
       void onChange(Widget sender) {
          if(!sender.getValue().matches("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$")) {
             sender.setFocus();
       }
    }
    

    Regex 也适用于 JSR 303 验证。

    @Pattern("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$")
    private String sender;
    

    最后,我发现 this excellent blog post 描述了如何通过扩展和自定义 AbstractGwtValidatorFactory 直接从 GWT 客户端(不需要服务器)内进行 JSR 303 验证。

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 2023-01-28
      • 1970-01-01
      • 2017-04-07
      • 2021-04-30
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多