<?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class ValidUrl implements Rule { /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { // Define the regular expression to match the desired URL patterns $pattern = '/^(https?:\/\/)?(www\.)?[\w.-]+\.\w+(:\d+)?(\/[^\s]*)?$/'; return preg_match($pattern, $value); } /** * Get the validation error message. * * @return string */ public function message() { return 'The :attribute format is invalid.'; } }