Using $model->validate() with AttributeType::Url I have a basic model defined:

protected function defineAttributes()
{
    return array(
        'id'        =&gt; array(AttributeType::String, 'required' =&gt; true),
        'url'       =&gt; AttributeType::Url,
        'info'      =&gt; array(AttributeType::String, 'required' =&gt; true, 'maxLength' =&gt; 4000),
        'title'     =&gt; array(AttributeType::String, 'required' =&gt; true, 'maxLength' =&gt; 65, 'minLength' =&gt; 15),
        'message'   =&gt; AttributeType::String,
    );
}


And when checking if the model is valid:

if (!$my_model-&gt;validate())
{
    return false;
}


Almost any string for 'url' is passing the validation, even without a '.com' 

So if someone inputs sdfsdfsfsdfsdf in the input field, it'll pass as a valid URL and return as http://sdfsdfsfsdfsdf

I've also tried using AttributeType::UrlFormat but I run into the same problem. Am I not understanding what this attributetype does, or should it be validating that it's an actual URL string?
Craft extends Yii's CUrlValidator to add support for protocol-less URLs as well as URLs without a TLD (such as your example of http://sdfsdfsfsdfsdf).

If you need other behaviors for your URL validation, you can always write a custom URL validator.