接受小写的文字或字符

时间:2013-01-15 09:36:40

标签: java spring jsf-2

我正在使用JSF2.0,Spring 3和Hibernate 4。

在jsf中是否可以在大写或小写的inputText中输入文本或字符?我的意思是即使用户输入大写,inputText也应该总是接受小写字符。

这在JSF 2中是否可行?

谢谢

2 个答案:

答案 0 :(得分:2)

您可以实现自己的验证器来验证文本大小写。查看this教程。但它不是客户端验证 - 请求将被发送到服务器,如果它不是有效页面将被重新加载并显示验证错误消息。

答案 1 :(得分:2)

您可以使用Converter自动转换输入;有关更多信息,请参阅Java EE 6 tutorial

@FacesConverter("lowerConverter")
public class LowerConverter implements Converter {
    @Override
    public Object getAsObject(FacesContext cx, UIComponent component,
                              String value) throws ConverterException {
        if(value == null) {
            return null;
        }
        Locale locale = cx.getExternalContext().getRequestLocale();
        return value.toLowerCase(locale);
    }

    @Override
    public String getAsString(FacesContext cx, UIComponent component,
                              Object value) throws ConverterException {
        if(value == null) {
            return null;
        }
        return value.toString();
    }
}