Added some user validations
Extracted out method from spec
Added extra link validation
Fixed previous bug and added a validation to link
Link must have a url