Hi @Michael Mastro II ,
As far as I know, the client validation will use jquery.validate.js to validate the url. The validate regex like below: After checking this regex, you will find it doesn't support localhost, it needed the url is something link xxxx.xx format. This is the reason why your url validate is not working well. Since in the production environment the localhost will not work well when you let the url type in a localhost, localhost normally means the local develop environment.
Js validate for url checking part:
return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value );
Also, I am looking at possibly changing the property to a string so that I can use comma separated values to enter multiple Urls. I am doubting the Uri data annotation would work with comma separated values, so that leads to the second question of what sort of validation would work best with what I am looking to do?
The url validate will just work for just on url, if you put multiple url inside it, it will not work well. If you have the specific requirement, you should write the regex by your-self.