Hi All,
I have a scenario where I need to validate each attribute of a row before I push it into the DB. Validation of the attribute is majorly checking if the value is null or not. If null I am raising a AttrValException. However because of the BundleException property, it doesn't throw the exception onto the UI directly/immediately but it gets bundled up into RowValException and then into a TxnValException. After inserting the row, I have other data which is processed and validated in similar fashion. I am using OperationBinding to invoke the method which inserts the rows. However, when I use OpeationBinding.getErrors() post execute, it doesn't pick up the TxnValException and proceeds further and tries to commit the data(I am using EL {binding.commit.execute} for commit action).
Here are my doubts relating to this
1) Why isn't OperationBinding.getErrors picking up the TxnValException?
2) If OperationBinding.getErrors doesn't work, what is an alternative to handle this case and check if the exception was thrown or not?
3).When commit runs and sees that the remaining data is exception free, then will it try to commit the valid data and ignore the invalid data or will it throw an exception as some data is corrupt?
4) In case there are multiple attributes which fail the validation, though there is only 1 TxnValException, after iterating through it recursively we can get all AttrValExceptions. How can I throw all the AttrValExceptions simultaneously? Or rather how can I get the error message to display all the AttrValExceptions raised?