Maybe try using one of ExplorerListView’s notification messages to handle setting the fields instead of the validate method. To use these notifications you need to define a method with that name in your Controller. Check ExplorerListViewControl to see what arguments are being sent for each notification message.
There are more messages being sent as well. You can search in ExplorerListView for “.Send” if you want to know all the messages that are being sent. Be careful though since some messages are specifically intended for certain controls. You should probably only use messages that start with “ExplorerListView_”.