This is a basic ticket validation plugin for Trac. The validation is based on the state that the ticket is in, so you can specify different requirements for different steps in the workflow.
Currently you can only specify required fields.
If you have any issues, create a new ticket.
Download the zipped source from here.
General instructions on installing Trac plugins can be found on the TracPlugins page.
Suppose you require the 'actual' field to be filled out once the ticket has been completed and the 'estimate' field once the ticket has been accepted. You can configure this through the admin page or edit the trac.ini file. The section in trac.ini would look as follows:
[ticketvalidator] done.required = actual,estimate accepted.required = estimate