0

我有一个文本框和值更改侦听器。并且有一个保存按钮。用户通过直接编辑 html 代码中的文本框值来避免/绕过值更改侦听器,然后将其保存。我怎样才能禁止用户,使他/她不能以这种方式改变价值?从而确保始终调用值更改侦听器。

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

谢谢

4

1 回答 1

0

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

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

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

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

于 2013-09-05T19:35:38.667 回答