簡體   English   中英

JSF: <f:convertDateTime type=“date” pattern=“mm/DD/yyyy”/>

[英]JSF: <f:convertDateTime type=“date” pattern=“mm/DD/yyyy”/>

我有一個使用convertDateTime的JSF日期組件,它接受“12/12 / 2013ab”

支持bean返回“12/12/2013”​​作為日期

我可以知道如何防止用戶輸入“12/12 / 2013ab”。 它將提示12 / 1a / 2013的錯誤。

提供自定義日期轉換器,它還檢查輸入長度。

@FacesConverter("myDateTimeConverter")
public class MyDateTimeConverter extends DateTimeConverter {

    public MyDateTimeConverter() {
        setPattern("MM/dd/yyyy");
    }

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value != null && value.length() != getPattern().length()) {
            throw new ConverterException("Invalid format");
        }

        return super.getAsObject(context, component, value);
    }

}

(請注意模式MM/dd/yyyy而不是mm/DD/yyyy

然后,而不是

<h:inputText value="#{bean.date}">
    <f:convertDateTime pattern="MM/dd/yyyy" />
</h:inputText>

采用

<h:inputText value="#{bean.date}" converter="myDateTimeConverter" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM