If you are adding fields dynamically, and you want to have unobtrusive validation, then you can use following code: 

var $nazivIndex = -1;

function addNewFieldNaziv() {
    $nazivIndex++;
    var $nazivEf = $('#nazivEf');
    $nazivEf.append('<p/><input class="text-box single-line valid" id="Naziv' + $nazivIndex
        + '" name="Naziv' + $nazivIndex
        + '" type="text" value="Stanko Milosev" data-val="true" data-val-required="The Naziv field is required."/> <span class="field-validation-valid" data-valmsg-for="Naziv' + $nazivIndex + '" data-valmsg-replace="true"></span>');
    
    var form = $("#myID");
    form.removeData('validator');
    $.validator.unobtrusive.parse(form);

}

Validation has to be removed, and then binded again. Also, in your ASP.NET MVC3 view you have to add following scripts:

<script src="/@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="/@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

<script src="/@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="/@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="/@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>

Here you can download my MVC3 application, code is dirty :) but you can see an example if you go on http://localhost:7307/Default1/Edit/1# for instance (Default1 controller, Edit method). Here you can see pure html example, or here you can download packed source. Unfortunately, you will see that this code is also dirty, I have two times $("#myID").validate, on the beginning and on the end, otherwise it didn't want to work, and I have no idea why.

In my MVC3 application in file unobtrusive_validation\unobtrusive_validation\Views\Default1\Edit.cshtml you will see code like:

<script src="/@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="/@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="/@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>

<script src="/@Url.Content("~/Scripts/addFields.js")" type="text/javascript"></script>

and

@using (Html.BeginForm("Edit", "Default1", FormMethod.Post, new { id = "myID" }))
{

Without these lines validation will not work, of course  in model in the file unobtrusive_validation\unobtrusive_validation\Models\Partner.cs you will see

[Required]
public string Naziv { get; set; }

"Naziv" means name btw :)

---

On the end my problem was solved as it was described here. Also, one my simple validation you can find here.