I have used this solution of rendering a view into a string successfully until I had to do the validation. This is on the view:
@Html.TextBoxFor(m => m.OrderedQuantity, new { id="someid", name="somename", data_mini = "true", type = "number", @class = "orderedQuantity removeGroupsRequired" })
and what the result is:
<input class="orderedQuantity removeGroupsRequired" data-mini="true" data-val="true" data-val-number="The field Quantity:  must be a number." data-val-required="The Quantity:  field is required." id="someid" name="OrderedQuantity" type="number" value="0" />
and I need the name in order do make some rules for an unobtrusive validation:
var form = $("#mydiv form");
form.validate(
    {
        rules: {
            somename: {
                required: true
            }
        },
        messages: {
            somename:
                {
                    required: "you must provide a quantity!"
                }
        }
    }
);
 
     
    