Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf facelet中的Bean验证和2表单_Jsf_Jsf 2_Bean Validation - Fatal编程技术网

Jsf facelet中的Bean验证和2表单

Jsf facelet中的Bean验证和2表单,jsf,jsf-2,bean-validation,Jsf,Jsf 2,Bean Validation,我在facelet中有两个表单,1.xhtml <h:form> <h:inputText id="id1" value="#{mBean.pr}"/> <h:commandButton value="Submit" action="response"/> </h:form> <h:form> <h:commandButton value="myCB" action="response"/>

我在facelet中有两个表单,
1.xhtml

<h:form>
    <h:inputText id="id1" value="#{mBean.pr}"/>
    <h:commandButton value="Submit" action="response"/>
</h:form>
<h:form>
    <h:commandButton value="myCB" action="response"/>
    <h:inputText id="id2" value="#{mBean.pr}"/>
</h:form>
 <h:form>
        <h:inputText id="id1" value="#{hello.sur}"/>
        <h:inputText id="id2" value="#{hello.sur}"/>
        <h:commandButton value="Submit" action="response">
        </h:commandButton>
 </h:form>
在这种情况下,
id1
id2
必须包含大于
5.00
的值


我不明白为什么会发生这种情况?

表单不是这样工作的。提交特定表单时,模型中仅发送、处理、转换、验证和更新表单内部的输入。表单是按表单提交的,而不是按页面提交。一个页面可以有多个职责完全不同的表单,例如登录表单和联系表单。提交登录表单时,处理联系人表单的输入并在其上显示验证错误是没有意义的


实际上,每个表单还应该有一个单独的请求/视图范围的支持bean。这不是一个技术要求,只是一个“好的设计”要求。

表单不是这样工作的。提交特定表单时,模型中仅发送、处理、转换、验证和更新表单内部的输入。表单是按表单提交的,而不是按页面提交。一个页面可以有多个职责完全不同的表单,例如登录表单和联系表单。提交登录表单时,处理联系人表单的输入并在其上显示验证错误是没有意义的


实际上,每个表单还应该有一个单独的请求/视图范围的支持bean。这不是技术要求,只是“良好设计”要求。

我不知道你的意思。但据我所知,在第一种情况下,当您使用两个表单时,当您提交特定表单时,该特定表单中的值的验证检查已经完成。在第二种情况下,由于两个值的格式相同,因此在提交时会验证两个字段。如果这不是您的意思,请澄清。您似乎在某种程度上期望在您提交某个表单时,其他表单的所有输入也会被提交、处理、转换、验证和更新,这是真的吗?到底为什么?HTML不是那样工作的@巴卢斯克,没错!我很理解你,谢谢!我不知道你的意思。但据我所知,在第一种情况下,当您使用两个表单时,当您提交特定表单时,该特定表单中的值的验证检查已经完成。在第二种情况下,由于两个值的格式相同,因此在提交时会验证两个字段。如果这不是您的意思,请澄清。您似乎在某种程度上期望在您提交某个表单时,其他表单的所有输入也会被提交、处理、转换、验证和更新,这是真的吗?到底为什么?HTML不是那样工作的@巴卢斯克,没错!我很理解你,谢谢!