Use ActiveModel for transaction validation