Add validations

add unique validation
add length validation
add custom validation
add presence validation
add absence validation
implement validating process in collection
add tests