I have this local URL:
http: // localhost: 8084 / Name / faces / Blah.xhtml? Flkatid = AAA
and this is the segment from the layout that checks the flkatid parameter and assigns it a bean:
<f:metadata>
<f:viewParam name="flkatid"
id="flkatid"
value="#{floKatBean.flkatid}"
required="true"
requiredMessage="URL incomplete"
validator="#{floKatBean.validateFlKatId}"
validatorMessage="URL incomplete or invalid"
>
</f:viewParam>
<f:event type="preRenderView" listener="#{floKatBean.init}"/>
<f:event type="preRenderView" listener="#{floBean.holFloListe}"/>
</f:metadata>
floKatBean.flkatid is an integer, so the url is invalid. A page is displayed that reports this:
flkatid: "AAA" must be a number consisting of one or more digits. flkatid: "AAA" must be a number from -2147483648 to 2147483647. Example: 9346
JSF checks the parameter itself because it knows that the bean is an integer. A custom validator is only called if this parameter is an integer.
HTTP, . 403 (), " JSF" ( RichFaces, MyFaces, SmileyFaces - )? - f: viewParam, "" . , ?