Added required, length, and numericality validations to books.rb