验证GWT中的用户输入?

时间:2010-11-11 09:39:16

标签: java validation gwt

在GWT中验证用户输入的最佳方法是什么?是否内置了对输入验证的支持?或者是否有任何外部框架来做到这一点?考虑到我正在使用带有GWT的hibernate?

由于

2 个答案:

答案 0 :(得分:1)

您可以在存储在“shared”包中的类中编写静态验证检查程序。然后,您可以在客户端和服务器端使用相同的代码。

答案 1 :(得分:0)

由于您没有得到一个好的答案,我想与我在GWT看到的验证框架分享我的观点。

框架的作用是他们经常尝试完成两件事:

  • 他们想要非常一般。
  • 他们希望不干扰您的代码。

这有时会成功,但大部分时间他们都没有。编写这样的框架会产生成本,而成本就是您作为该框架的用户所付出的代价。

在我看来,验证应该很简单。这是一个关于如何使用我放在一起的代码解决验证的示例:

    MasterValidator masterValidator = new MasterValidator();

    masterValidator.mandatory(messages.required_field(), lastnameBox, firstnameBox, genderBox);

    if (birthdateRequired) {
        masterValidator.mandatory(messages.required_field(), birthdateBox);
    }

    masterValidator.date(messages.date_format(), birthdateBox);

    masterValidator.email(messages.invalid_email(), emailBox);

    return masterValidator.validateStatus();

此处每个输入框都继承自我的TextField(或其他一些输入类型),这些字段有一个错误标签,如果验证不成功,将会设置该标签。

我并不是说这是完美的,但它会简单地完成工作。如果您希望受到启发/为此采取我的一些代码,那么请做。该代码用于Google代码托管的GPL2许可项目:

http://code.google.com/p/accountclient/source/browse/#svn/trunk/RegnskapClient/src/no/knubo/accounting/client/validation

它也使用client / ui。