Bash is absolutely right. You must do the verification work inside Validator.
For a specific problem, move <f:attribute>from <f:converter>(or <f:validator>, if you are listening to us) to the input component, and then use UIComponent#getAttributes()to get it. For instance.
<h:inputText ...>
<f:validator validatorId="valueValidator" />
<f:attribute name="theMaxOrderSize" id="maxorder" value="#{_cartItem.item.maxOrderSize}"/>
</h:inputText>
with
Object theMaxOrderSize = component.getAttributes().get("theMaxOrderSize");
(where componentis the argument of the UIComponentmethod validate(), it represents the parent component of the input)
Integer , #{_cartItem.item.maxOrderSize}.