Richfaces通过用户传递禁止事件

时间:2013-09-05 12:09:22

标签: events richfaces

我有一个文本框和值更改侦听器。并且有一个保存按钮。用户通过直接编辑html代码中的文本框值来避免/绕过值更改侦听器,然后保存它。我如何禁止用户,以便他/她无法以这种方式改变价值?因此,请确保始终调用值更改侦听器。

我正在寻找一些通用机制来阻止所有输入/和事件监听器上的这种情况。

由于

1 个答案:

答案 0 :(得分:0)

您需要接受用户实际上可以使用其客户端(浏览器)执行一切。他可以禁用Javascript,完全删除输入,更改验证或手动调用Ajax功能。他甚至可能不使用浏览器并使用命令行工具发送HTTP请求。

禁止这样的事情是不可能的。

另一方面,我认为如果你在valueChangeListener上使用h:inputText,那么在任何情况下都应该调用它,因为它将在服务器端进行评估。可能是您以错误的方式编辑了它,并且在保存表单内容时值实际上没有变化。 (通过向setter添加断点来检查值是否真的设置了。)

如果您使用<f:ajax> event="change"listener使用Ajax功能,则无法通过手动编辑html来阻止绕过它。请在保存方法中检查更改的值,或使用valueChangeListener代替。