Domanda

Attualmente sto cercando qui per la migrazione di un progetto dal MVC1 a MVC2. Stiamo usando xVal per la validazione lato client.

Da quello che ho capito, ho solo per rimuovere i riferimenti a xVal e sostituirlo con MVC2 EnableClientSideValidation e dovrebbe fare il trucco. altrimenti sarebbe richiesto qualcosa?

Inoltre, con xVal non poteva convalidare sul lato client un elenco di modelli, è ancora il caso di MVC2 + ClientSideValidation? (Quello che voglio dire con la "lista dei modelli" sta facendo la validazione su un List<TypeOfModel>)

Esempio di questo è: Controller:

    public ActionResult Index()
    {
        Models.Model1 model = new Models.Model1();
        model.Usernames = new List<Models.Model2>();

        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });
        model.Usernames.Add(new Models.Model2 {  });

        return View(model);
    }

Modello1:

class Model1 {  
public List<Model2> Usernames { get; set; }
}

Model2:

class Model2 {  
[Required]
public string Username { get; set; }
}

Visualizza:

    <% Html.EnableClientValidation(); %>

    <% using (Html.BeginForm()) { %> 

        <% foreach (var username in Model.Usernames) { %> 
            <% Html.RenderPartial("View2", username); %>
            <br /><br />
        <% } %>

        <input type="submit" />

    <% } %>

View2:

<%= Html.EditorFor(f => f.Username) %>
<%= Html.ValidationMessageFor(a => a.Username)%>

Questo è un POC dove validazione lato client MVC2 sta venendo a mancare, poiché valida dal campo id ...

È stato utile?

Soluzione

stato là, fatto che, ha ottenuto la t-shirt. E vorrei mai andato lì - convalida MVC2 non è francamente alla pari con xVal una volta che hai xVal correttamente attuato. Inoltre, la validazione MVC3 è molto, molto meglio fare. Quindi, se mi saltavano fuori xVal, avrei vettore per rendere il lavoro con MVC3 che è una bestia molto diversa.

Altri suggerimenti

Anche se mi iscrivo in qualche modo a quello che ha detto Wyatt qui in particolare la parte che riguarda MVC3, ma ho utilizzato validazione lato MVC2 cliente e non è stata una brutta esperienza a tutti.

Per rispondere alla tua domanda, è necessario effettuare le seguenti operazioni: 1. Includere MicrosoftAjax.js e MicrosoftMvcValidation.js nella vista. 2. Poi basta chiamare l'aiutante <% Html.EnableClientValidation (); %>

Si dovrebbe pick-up le vostre regole di validazione del modello DataAnnotation e vi darà la validazione lato client senza molto sforzo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top