मुझे लगता है कि आप Mojarra का उपयोग कर रहे हैं, क्योंकि javax.faces.validator.RegexValidator के स्रोत की जांच कर रहा है, मुझे पता है कि सत्यापन संदेश का सर्वो केवल पैटर्न है, लेबल कभी भी संदेश फ़ॉर्मेटर को पास नहीं किया जाता है और आप नहीं कर सकते इसे अपने स्वयं के कस्टम संदेशों में उपयोग करें।
//From javax.faces.validator.RegexValidator source
if (!matcher.matches()) {
Object[] params = { regex };
fmsg = MessageFactory.getMessage(locale, NOT_MATCHED_MESSAGE_ID, params);
throw new ValidatorException(fmsg);
}
माईफैस स्रोतों में, ऐसा लगता है कि वे पैटर्न और लेबल दोनों पास करते हैं।
कम से कम दो सरल विकल्प हैं: MyFaces का उपयोग करें या अपने इनपुट घटक के वैधकर्ता मैसेज विशेषता का बेहतर उपयोग करें।
सत्यापनकर्ता संदेश विवरण एक वैल्यूएक्सप्रेस सक्षम विशेषता है, यदि मौजूद है, तो वैधकर्ता संदेश के पाठ के रूप में उपयोग किया जाएगा, वैधकर्ता से आने वाले किसी भी संदेश को प्रतिस्थापित करता है।
<h:inputText id="email" label="#{sW.email}"
value="#{contattiBean.contatto.email}"
required="true" validatorMessage="#{sW.email} is not valid">
<f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"/>
</h:inputText>
स्रोत
2011-02-07 08:39:57