grails2.1.0用のgrailsJQuery検証UIプラグインを使用しています。
コマンドオブジェクトの制約に基づいて、クライアント側でフォームを評価することがほぼ可能です。1つの問題があります。コマンドオブジェクトにカスタム制約があります。
startTime(nullable: false, validator: {startTime, deal ->
if ((!DateUtils.isSameDay(startTime, new Date()) && startTime.before(new Date()))) //Start date is today or future but not before end date
{
return "pastDate"
}
if (deal.endTime && startTime.after(deal.endTime)) {
return "before.endTime"
}
})
これにより、ページマークアップで生成された次のレンダリングされたjQuery検証コードが生成されます。
startTime: {
date: true,
required: true,
validator: {
url: '/appContextRoot/JQueryRemoteValidator/validate',
type: 'post',
data: {
validatableClass: 'myapp.command.tester.testerDealCommand',
property: 'startTime'
}
}
}
custumは、「validator:」を使用してロジックを制約します。現在、何も実行していません。
このカスタムバリデーターを機能させるための最良のアプローチは何ですか?
1:何らかの形のAjax呼び出し?
2:カスタム制約プラグインを使用してjsコードをgrails-validation-methods.jsに追加しますか?
3:他の方法?
オプション2を使用するかどうかわかりません...プラグインを拡張する方法はありますか?
ソースコードリポジトリでプラグインの個別のバージョンをコミットして維持する必要はありません。