我按如下方式实现了验证逻辑:
<h:inputText id="title" value="#{...}"
required="true" requiredMessage="...some..text..."
validatorMessage="...some..other..text..." >
<f:validateLength minimum="10" maximum="50"/>
</h:inputText>
我阅读了很多关于客户端和服务器端验证以及它们的优缺点。但我不知道上面的代码是做什么的。
有人可以解释一下: - )
干杯
答案 0 :(得分:30)
在客户端验证中,它是客户端(webbrowser),它借助客户端语言验证输入,例如: JavaScript的。在服务器端验证中,它是服务器(网络服务器),它借助服务器端语言验证输入,例如, Java的。
您永远不应该仅客户端验证,因为最终用户的结果是可控的(因此也是可黑客/可欺骗的)。通常,您希望使用客户端验证,因为它可以提供更快的反馈。最终用户不需要等待表单提交完成,也不需要面对“内容闪存”(页面空白,然后重新显示新内容)。您希望使用服务器端验证来确保提交数据的完整性。最终用户无法控制服务器端验证的结果。
对于JSF,验证始终服务器端。从JSF 2.0开始,可以使用内置的ajaxical功能提交表单(从而也验证表单)。这结合了两个世界中最好的:没有内容闪存的即时反馈和服务器端验证的健壮性/完整性。