JSFvalidation客户端或服务器端?
我实现了我的validation逻辑如下:
<h:inputText id="title" value="#{...}" required="true" requiredMessage="...some..text..." validatorMessage="...some..other..text..." > <f:validateLength minimum="10" maximum="50"/> </h:inputText>
我读了很多关于客户端和服务器端的validation以及它们的优缺点。 但是我不知道上面的代码是干什么的。
有人可以解释一下:-)
干杯
在客户端validation中,客户端(webbrowser)使用客户端语言(例如JavaScript)帮助validationinput。 在服务器端validation中,服务器(web服务器)使用服务器端语言(例如Java)来validationinput。
你不应该只做客户端validation,因为最终用户的结果是可控的(因此也是可破解/可欺骗的)。 通常,您想使用客户端validation,因为它提供了更快的反馈。 最终用户无需等待表单提交完成,也不需要面对“内容快闪”(页面空白,然后重新显示新内容)。 您希望使用服务器端validation来确保提交的数据的完整性。 最终用户无法控制服务器端validation的结果。
在JSF的情况下,validation始终是服务器端。 由于JSF 2.0可以使用内置的Ajaxfunction来提交表单(从而validation表单)。 这结合了两个世界中最好的一个:即时反馈,没有内容的闪光和服务器端validation的鲁棒性/完整性。