Fix #28, add validators to disallow empty payload.