update validate and opevent