如何捕获绑定到VisualForce输入的setter中抛出的异常?

时间:2012-04-26 19:41:17

标签: salesforce apex-code visualforce

我有一个绑定到SObject的属性,如下所示:

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

在VisualForce页面中,我有一个绑定到此属性的输入字段。

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

如果我在这个字段中输入一个字符串,如abc,那么setter中会有一个异常,但我似乎无法捕捉它。提交表单,它的操作不成功,但没有错误消息。我如何发现此错误?

1 个答案:

答案 0 :(得分:1)

您可以在表单提交上添加一些错误检查,这将验证所有输入,然后在页面上显示错误吗?

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

甚至可以将此代码放在纬度的设置器中。