ho qualcosa di simile a questo:come mettere DisplayName sul formato ErrorMessage
[DisplayName("First Name")]
[Required(ErrorMessage="{0} is required.")]
[StringLength(50, MinimumLength = 10, ErrorMessage="{0}'s length should be between {2} and {1}.")]
public string Name { get; set; }
voglio avere il seguente output:
- Nome è richiesto. lunghezza
- Prima del nome dovrebbe essere tra 10 e 50.
Si sta lavorando quando si utilizza ASP.NET MVC2 Riepilogo degli errori, ma quando provo a validare manualmente, in questo modo:
ValidationContext context = new ValidationContext(myModel, null, null);
List<ValidationResult> results = new List<ValidationResult>();
bool valid = Validator.TryValidateObject(myModel, context, results, true);
I risultati sono i seguenti: è necessario
- Nome. lunghezza
- del nome dovrebbe essere tra 10 e 50.
Cosa c'è che non va? Grazie.
che sembrano avere lo stesso problema come OP. Nella parte principale, l'utilizzo di [DisplayName] o [Display] sulla proprietà funziona correttamente (sostituire {0} nel messaggio di errore dell'attributo richiesto con il nome visualizzato), tuttavia ho scoperto che gli errori del modello emessi dalla convalida lato server possono essere errato (sostituire {0} con il nome della proprietà) - anche se la validazione non invadente fornisce il valore corretto per la stessa proprietà. (Per vedere questo ho dovuto disattivare javascript). Non sono ancora stato in grado di arrivare alla fine di questo - osservato con MVC 5.2.3 –