I created a simple input field for an int variable. I want to add validation to it but, but i see no need to create my own validator for it, since the only thing i need is to avoid negative values and characters other than numbers. So this is what i did:
<h:inputText id="price" value="#{placeAddControler.price}">
<f:validateLongRange minimum="0"/>
</h:inputText>
<h:outputText value="€" />
<br/>
<span style="color: red;"><b><h:message for="price"
showDetail="true" /></b></span>
When i try how it works this is the result for negative values:
And this is the result for characters:
Where in my project can i customize the text of those validation messages?
JSF Validation - Declarative Validator Here we are setting the required attribute to true which makes the field mandatory and fires the custom message “value is required” for color field and user defined message for mobile name field as the message is specified in the requiredmessage attribute.
f:validateLength tag is used to validate the length of a string value in a particular range.
To change these values you basically have to define your own Resources file, override the properties you want custom messages for and register it in web.xml. This link seems to explain it well, so I've included this rather than try and rewrite the content.
For a simpler solution and as you are JSF 2 you can also use these attributes of the inputText component:
requiredMessage="I am a custom message"
converterMessage="I am a custom message"
validatorMessage="I am a custom message"
This will override any message which the validator itself spits out.
But I'd prefer the Resource bundle, as that promotes consistency of user visible error messages across your application.
You can register a message bundle and customize those messages. This is a pretty decent example/tutorial:
http://www.mkyong.com/jsf2/customize-validation-error-message-in-jsf-2-0/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With