Bonjour tout le monde,
Par défaut, quand on déclare un champ décimal dans une table avec Entity Framework sur un site MVC, ce champ n'accepte pas de décimale.
Il faut préciser soit [DataType("decimal(18 , 4)")], soit [DecimalPrecision(18 , 2)], mais même avec ça ça n'a pas l'air de fonctionner "out of the box".
J'ai tapé Install-Package EFAttributeConfig, qui est basé là
https://github.com/richardlawley/Ent...ttributeConfig
ça s'est installé sans problème, et pour les autres intervenants ça marche, pas pour moi.
Et je m'aperçois d'une chose, après avoir saisi une décimale dans le champ sous SSMS :
l'affichage fonctionne bien, avec une virgule comme séparateur décimal.
En saisie ça se gâte, car nous avons un autre contrôle qui interdit d'avoir autre chose que des chiffres et des points pour que le contenu soit reconnu comme nombre, et un point n'est pas reconnu comme séparateur décimal donc forcément ça ne nous donne pas un nombre décimal valide.
Je suppose que si je configure ma machine avec une autre culture qui utilise le point comme séparateur décimal ça va mettre tout le monde d'accord, mais ... sauf les utilisateurs.
Comment y a-t-il lieu de m'y prendre ?
Pour les dates j'avais
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
or c'était bon à l'affichage, mais en saisie le format n'était pas le même, si je me rappelle bien les jours et les mois étaient inversés. J'ignore si il y a une explication commune dans les deux cas.
Ah oui c'est vrai que quelques précisions peuvent être bienvenues. J'utilise Visual Studio Community 2017, MVC 5.2.4.0, Entity Framework 6.0.0.0, SQL Express 2014, Windows 10 version 1803 (Microsoft Windows [version 10.0.17134.48]).
Comme client j'utilise Firefox 60.0.2
Partager