This isn't necessary since if you return false then the set won't go through and so the play value will be the same it was before the set. 

This will actually trigger another call of the validator so it would require the validator to be re-entrant (which this particular one is :) ).