move validation for required attributes to repo.persist

now it is possible to create incomplete entities