当前位置: 首页 > 面试题库 >

与JS客户端验证结合使用时,不会触发JSF ajax请求

施知
2023-03-14
问题内容

我正在使用JSF
2.0和primefaces。我有一个页面,其中包含一个表单中的多个输入和一个按钮,该按钮使用ajax将新记录添加到表中。一切正常。然后,我使用JavaScript添加了客户端验证。这是命令按钮的代码:

<p:commandButton value="Add" actionListener="#{reqAbsences.addPreLeaveDemand}"
                 onclick="return validateNewAbs()"
                 update="tableForm inputForm errorForm" />

如果验证失败,它将按预期工作,并且不会在表中添加该记录。通过验证时出现问题:添加了记录,但重新加载了页面(ajax无法正常工作)。如果我删除了onclick="return validateNewAbs()"ajax,可以再次使用。

知道为什么会这样吗?


问题答案:

您将click通过立即返回来覆盖默认的ajax 事件true。而是使其仅在上返回false

onclick="if (!validateNewAbs()) return false;"

但是更好的方法是只使用JSF内置/自定义验证器在服务器端进行验证。这样,您无需将验证重复到双方,并且在禁用JS的情况下验证仍然可以使用。



 类似资料:
  • 我正在尝试验证表单字段集的输入值,并在发生无效输入时使Thymeleaf显示一些错误消息。但不知何故,以下Thymeleaf命令从未以正确的方式得到解决: 关于我的环境的更多信息,我想不会有什么坏处: 根据Spring GS指南“验证表单输入”,我实现了相关的控制器方法,如下所示: 控制器: 当我向控制器提交无效的表单输入时,它会根据需要运行if子句,这样打印log.infos并再次返回相同的页面

  • 问题内容: 进行客户端或服务器端验证哪个更好? 在我们的情况下,我们正在使用 jQuery和MVC。 在我们的视图和控制器之间传递的JSON数据。 我所做的许多验证工作都是在用户输入数据时对其进行验证。例如,我使用该事件来防止文本框中的字母,设置最大字符数,并且该数字在一定范围内。 我想更好的问题是,与客户端相比,进行服务器端验证是否有任何好处? 真棒的答案大家。我们拥有的网站受到密码保护,并且用

  • 因此,为了实现这个逻辑,我认为我需要在客户端验证JWT令牌。Q1,这是一个明智的做法吗。 Q2,我正在使用的库似乎需要一个公钥才能使用它的函数。我似乎没有公钥,只有一个秘密,这是我刚刚编造的,所以它不是用一对生成的。我的公钥从何而来,或者是否有另一种方法来验证我的令牌而不使用此方法? 这一切似乎应该是显而易见的,我错过了一些东西,所以很抱歉,如果这是一个愚蠢的问题,但我似乎找不到答案?

  • 问题内容: 仅仅为了概念验证而使用socket.io,到目前为止,一切工作都很好,除了我无法在客户端实现我的emit回调。我必须在这里丢失一些愚蠢的东西,但是文档目前还不是杀手。服务器可以很好地拾取“ getSomeData”事件,并且在任何地方都没有错误。 根据我在客户端socket.io源代码中看到的信息,它检查发出的最后一个参数是否是一个函数,并始终将其用作回调,但是对任何更深层的调试对我来

  • 我正在使用Primefaces客户机bean验证,但它不起作用,错误消息消失,即使验证失败也会调用Listener。 示例-xhtml- 我正在使用-Primefaces 4 Jsf 2.2.6(mojarra)tomcat 7 请帮帮我。谢了。

  • 编辑我可以将我的OkHttp客户端构建到它在客户端中同时包含客户端证书的位置。SSLContext。KeyManager和客户端中的受信任证书。SSLContext。信任管理器 但是,我的客户端仍然没有发送我的客户端证书(通过信任存储成功验证了服务器证书)。在ssl调试日志中获取它 <代码>密钥库。jks是用以下命令构建的 我还尝试使用客户端证书使用根证书和中间证书创建存储: 另一个可能的问题是C