in einer ASP.NET MVC 4 app, die LocalPasswordModel Klasse (in Models \ AccountModels.cs) sieht wie folgt aus:Substitution Argumente in ValidationAttribute.ErrorMessage
public class LocalPasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
Der obige Code enthält zwei Substitutionsargumente in der Errormessage string:
ErrorMessage = "The {0} must be at least {2} characters long."
Kann mir jemand sagen, wo die Werte kommen, die in dieser Zeichenfolge ersetzt werden? Gibt es allgemein eine offizielle Dokumentation, die beschreibt, wie die Parametersubstitution in diesem Kontext funktioniert?
Beachten Sie, dass diese nicht in der richtigen Reihenfolge sind - '{0}' ist der Eigenschaftsname, '{1}' ist die * maximale * Länge und '{2}' ist die * minimale * Länge. (Siehe den Aufruf von String.Format im Codeblock.) – GalacticCowboy
@GalacticCowboy danke, ich habe es behoben. Anscheinend hat jemand anderes meine Antwort vor langer Zeit bearbeitet und den falschen Text dort hineingelegt. – Eilon