サーバーから渡されたデータに基づいて、dojox.form.ValidationTextBox ウィジェットを含むフォームにプログラムで入力するページを作成しています。これらのウィジェットは、フォームが送信される前に検証する必要がありますが、現在、サーバーが検証の制約を伝達する方法がありません。
dojox.validate.check で使用されるプロファイル オブジェクトをシリアライズするのが最適のように思えますが、構造は完全にシリアライズに適しているわけではありません。dojox.validation.check に渡されるプロファイル オブジェクトは、次の形式にする必要があります。
profile: {
required: [fieldName1],
constraints: {
fieldName1: [[validationFunc1, constraintArg1, constraintArg2], [validationFunc2, constraintArg3, constraintArg4]]
fieldName2: validationFunc3
}
.
.
.
}
プロファイル オブジェクトには関数が含まれているため、そのまま使用したくありません。関数自体の代わりに使用する関数の名前をシリアル化することを検討していましたが、dojo AMD ローダーにはグローバル変数名がないと想定されているため、クライアント側の密結合が発生します。
クライアントとサーバー間のフォーム検証制約を (できれば dojo で) 通信する、より標準的な方法はありますか?