Sur mon projet MVC3, je stocke la prédiction de score pour le football / soccer / hockey / ... jeu de sport. Donc, l'une des propriétés de ma classe de prédiction ressemble à ceci:
[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Maintenant, je dois également modifier le message d'erreur pour un type de données, int
dans mon cas. Une valeur par défaut est utilisée - "Le champ HomeTeamPrediction doit être un nombre.". Besoin de trouver un moyen de modifier ce message d'erreur. Ce message de validation semble également prendre la prédiction pour une validation à distance.
J'ai essayé l' [DataType]
attribut mais cela ne semble pas être un nombre simple dans l' system.componentmodel.dataannotations.datatype
énumération.
la source
Essayez l'une de ces expressions régulières:
j'espère que cela aide: D
la source
int.MaxValue
ne couvre que jusqu'au2.147.483.647
Utiliser l'expression régulière dans l'annotation de données
la source
[0-9]+
?la source
Essayez cet attribut:
Et vous devez également enregistrer l'attribut dans le plugin de validation:
la source
près d'une décennie s'est écoulée, mais le problème est toujours d'actualité avec Asp.Net Core 2.2.
Je l'ai géré en ajoutant
data-val-number
au champ de saisie la localisation d'utilisation sur le message:la source
ASP.NET Core 3.1
Ceci est ma mise en œuvre de la fonctionnalité, cela fonctionne côté serveur ainsi qu'avec la validation jquery discrète avec un message d'erreur personnalisé comme tout autre attribut:
L'attribut:
Logique côté client:
Et enfin l' utilisation:
la source