2010-07-29 21 views
0

J'utilise xVal pour la validation côté client, j'ai le code suivant:ASP.NET MVC 2 & xVal: Html.TextboxFor at-il un message ValidationMessage intégré?

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.FiltersModel>" %> 
<%@ Import Namespace="xVal.Rules" %> 
<%@ Import Namespace="xVal.Html" %> 

<% using(Html.BeginForm()) { %> 
<div id="filter-name-area"> 
    <%: Html.LabelFor(x => x.Name)%> 
    <%: Html.TextBoxFor(x => x.Name, new { @class = "text" })%> 
<%-- <%: Html.ValidationMessageFor(x => x.Name) %> --%> 
    <button id="filters-add-row" style="float: right"></button> 
</div> 
<%} %> 
<%= Html.ClientSideValidation<Models.FiltersModel>()%> 

Et ceci est mon modèle de vue:

public class FiltersModel { 
    [Required] 
    [DisplayName("Name:")] 
    public string Name { get; set; } 
} 

Que je commente <%: Html.ValidationMessageFor(x => x.Name) %> ou non, je reçois encore le message de validation.

Comment ça se fait?

Merci pour votre aide.

Répondre

1

Parce que xVal génère automatiquement des messages de validation basés sur les métadonnées du modèle.

Les Html.ValidationMessage() et Html.ValidationMessageFor() sont là pour la validation MVC intégrée (donc vous ne les utilisez pas avec xVal).

Éditer: Ceci est vrai pour la validation côté client.

+0

Je vois. Existe-t-il un moyen de dire à xVal de ne pas afficher le message de validation en plus de le mettre à "" "'? –

+0

Je ne sais pas vraiment, ça fait un moment que je l'ai utilisé, mais je ne le crois pas. C'est probablement une des raisons pour lesquelles j'utilise la validation intégrée;) – Necros

+0

Ok, merci :) J'ai modifié le script 'xVal.jquery.validate.js' pour ne pas afficher certains messages. –