我正在为 grails 2.1.0 使用 grails JQuery Validation UI Plugin。
根据我的命令对象约束,我几乎有我的表单验证客户端。有一个问题,我的命令对象中有一个自定义约束:
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:使用Custom Constraits插件,在grails-validation-methods.js中添加js代码?
3:其他方式?
我不确定是否使用选项 2....有什么方法可以扩展插件吗?
我不想在我们的源代码存储库中提交和维护一个单独的插件版本。