on_before_validate called twice, validation_helper fails on non-integer numbers

on_before_validate is called twice, once before validate and once inside validate. 

Validation helper checks for integer instead of numeric causing non-integer numbers to fail required test