closes #6 (Throw exception on unvalidated value)
closes #7 (Add posibility to define "hard" or "soft" validation)