2012-04-26 38 views
0

我有一個綁定到的sObject像這樣的屬性:如何捕獲綁定到VisualForce輸入的setter中引發的異常?

public Decimal latitude { 
    get { 
    return (Decimal)self.get('latitude__c'); 
    } 
    set { 
    self.put('latitude__c', value); 
    } 
} 

在VisualForce頁,我有一個綁定到這個屬性的輸入字段。

<apex:inputtext value="{!latitude}" /> 

如果我輸入一個字符串到像abc這個領域存在的setter一個例外,但我似乎無法抓住它。表單已提交,但操作不成功,但沒有錯誤消息。我如何發現這個錯誤?

回答

1

你能否在表單提交時添加一些錯誤檢查,以驗證所有輸入,然後在頁面上顯示錯誤?

喜歡的東西

try{ 
    latitude = Decimal.valueOf(latitude); 
}catch (exception e){ 
    ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.Error, 'Invalid latitude entered!')); 
} 

甚至把這段代碼中緯度的制定者。

+0

我一直在使用自定義頁面消息組件而不是''標籤,那就是問題所在。據我所知,在表單提交期間無法捕獲異常,唯一可行的方法是在頁面中添加''。我同意在提交之前檢查輸入是否有意義。 – barelyknown 2012-04-26 20:52:20

相關問題