关于Bean Validation和JSF验证的问题?

3

我对Bean Validation和JSF验证有一些问题,目前我正在使用Bean验证:

  1. 使用JSF验证时,验证仅在客户端工作,不会发送请求到服务器,而Bean验证在服务器上工作?
  2. 如果禁用javascript,JSF和Bean Validation都可以工作吗,还是只有Bean Validation?
  3. 如果有的话,Bean验证有哪些缺点?
1个回答

4
  1. 这不是真的。验证是通过 Process Validations 在 jsf 生命周期中应用的。

    "当 JSF 运行时在视图层次结构中的每个组件上调用 processValidators() 方法时,将进行转换和验证。processValidators() 方法将首先启动任何数据转换,然后根据应用程序的验证规则验证组件值。如果在转换或验证过程中出现任何错误,则会标记该组件无效,并生成并排队在 FacesContext 对象中的错误消息。如果组件被标记为无效,则 JSF 直接前往呈现响应阶段,该阶段将显示当前视图和排队的验证错误消息。如果没有验证错误,则 JSF 前往更新模型值阶段。" - johnderinger.wordpress.com

    您也可以在规范中找到此信息。

  2. 两者都不需要 javascript

  3. 这更多是编程风格的问题。我认为在模型中进行验证比在视图中进行验证更好,因为它从视图中删除了逻辑,并且更加 DRY(不要重复自己)。如果您多次使用 bean,则只需使用 bean 验证一次即可编写验证。您还应该知道,bean 验证将覆盖 JSF 中的约束。

    有关如何使用 bean 验证的更多信息,您可以在这里找到,并在规范中找到。有关集成 JSF 验证的更多信息,您应该访问此网站


请问您能否解释或提供一个链接,介绍一下这两种验证方式是如何工作的? - Mahmoud Saleh
我希望我能帮到你。如果有任何进一步的问题,请不要犹豫问我。 :) - Robin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接