Java用の非常に単純なフォーム処理APIを探しています。 APIは、理想的には、フォーム入力フィールドがBeanプロパティに対応し、すべての豆がjavax.Validation注釈を有するであろうと仮定:Java用のシンプルなフォーム処理API
- 豆を表示するHTMLフォームとして は
- 、適用可能な場合、ネストされたオブジェクトを含むBeanを、移入します
- 検証の注釈を使用して入力を検証する
- エラーがある場合は、フォームの上部にエラーを表示し、エラーフィールドを強調表示します。 さらに
:私はレガシーアプリで働いていますので、私は、アプリケーション全体のフレームワークに購入する必要はありませんでした場合
- それはいいだろう。
- もっと複雑なユースケースの設定を許可しますが、デフォルトでは規約を使用するだけです。
ボーナス:
- はあまりにJavaScriptクライアント側の検証を生成します。
注:これには複数の異なるライブラリが必要な場合は、それでも問題ありません。
更新:
私は私が探していたものを見つけたことがない、と春に移行することはオプションではありませんでしたので、私は先に行って、自分のソリューションを巻か。これは、愛着的に、java in jailsと呼ばれています(ゆるやかにレール形状の処理をモデルにしています)。それはあなたにシンプルな(そしてかなりの)フォーム作成、クライアントとサーバー側の検証、そしてオブジェクトマッピングへのパラメータの要求を与えます。設定は必要ありません。
例豆:
public class AccountForm {
@NotBlank(groups = RequiredChecks.class)
@Size(min = 2, max = 25)
private String name;
//...
}
例フォーム:
<%@ taglib uri="http://org.jails.org/form/taglib" prefix="s" %>
<s:form name="accountForm" action="/jails-demo/jails" label="Your Account Details" style="side">
<s:text name="name" label="Name" size="25" />
<s:text name="accountName" label="Account Name" size="15" />
...
</s:form>
例の検証とマッピング:
SimpleValidator validator = new SimpleValidator();
if ("submit".equals(request.getParameter("submit"))) {
Map<String, List<String>> errors = validator.validate(AccountForm.class, request.getParameterMap());
if (errors != null) {
AccountForm account = validator.getMapper().toObject(AccountForm.class, request.getParameterMap());
//do something with valid account
} else {
SimpleForm.validateAs(AccountForm.class).inRequest(request).setErrors(errors);
//handle error
}
} else {
SimpleForm.validateAs(AccountForm.class).inRequest(request);
//forward to formPage
}
これは、フォームはjQueryのを使用してクライアント側の検証で、次のようになります(Position Absoluteによって提供):
私は通常、上記のように完全なソリューションを提供していません。なぜあなたはあなたの "フォーム"を開発し始めていないのですか? – CoolBeans
申し出てくれてありがとう...私は実際にコーディングヘルプを探していませんでした。プラグインできるだけの既存のソリューションを探していました。 –