【发布时间】:2012-10-19 12:38:53
【问题描述】:
我的项目有以下任务: 我需要根据脚本中的规则验证 java 对象(例如 javascript)。
为什么在 javascript 中? 因为在 javascript 中,我可以灵活地根据需要创建规则(例如,验证 validate(tax,recipient) 等字段的组合)
现在这是我所拥有的:
1) 我在 javascript 文件 Rules.js 中定义了验证规则
function checkPrice(price){
if(price < 0){
return false;
}
}
2) 我有一个普通的 Java 对象(发票)。而且它必须保持简单!
public class Invoice implements Serializable {
private String details;
private String tax;
private String recipient;
private double price;
//getter and setter
}
3) 我有一个 ValidatorObject。这可以是 java 或 javascript 对象。根据您的建议。
这个 ValidatorObject 有一个方法 validate,它有 Javascript 规则文件(见第 1 点)和 Java 对象发票(见第 2 点)作为参数。
validate(Rules.js, Invoice i){
//here it must take the Rules.js and use the rules inside to validate the Invoice i
}
所以我的问题是: 是否有任何框架可用于根据 javascript 文件中定义的规则验证 Java 对象?或者任何教程、视频或建议?
或者如何将 javascript 文件读入 java 对象? javascript 有 getter 或 setter 吗?
什么都好!
问候, 戴夫
【问题讨论】:
-
为什么需要javascript?为什么不用java来写规则??
-
你能举个例子说明使用 Javascript 对
be flexible and create rules as I want有什么帮助吗?您给出的示例在 Java 中会更简单。 -
您可以使用 Rhino 从 Java 执行 JavaScript。
-
@PeterLawrey 1) 因为我使用 Apache Wicket 作为 Web 应用程序框架,来构建表单等,2) 因为我需要声明性方法,所以大学的助手想要它。 .
-
我仍然不明白为什么你不能在 Java 中动态地做这两件事。
标签: java javascript validation wicket