You can create an interface to that class and use impromptu interface to have your class act as that interface...
Lets say this is the class from the portable library:
public class SomeClass
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Create a cloned interface and specify validation attributes in it:
public interface ISomeClass
{
[Required]
string FirstName { get; set; }
string LastName { get; set; }
}
At the top of your view, pass the interface instead of the class:
@model YourNamespace.Models.ISomeClass
In your controller, do:
return View(instanceOfSomeClass.ActLike<ISomeClass>();
You can find impromptu interface here:
http://code.google.com/p/impromptu-interface/
Since the class and the interface look exactly the same, model binding works as well.
Hope this helps.