CultureInfo og MVC 3
Jeg har nogle udfordringer med validering af data og danske tal (komma i stedet for punktum).Mit setup er:
C#
MVC 3
Data Annotation Validation
Jeg bruger ADO.NET Entity Data Model, til at hive informationer om mine sql tabeller ud af databasen. Denne autogenererer de klasser som jeg så skal bruge (fx får jeg automatisk en "Prices" klasse som indeholder informationer om min tabel Prices og en anden klasse "Products" der indeholder informationer om min tabel Products).
Jeg kører med en dansk opsætning og ønsker dermed at få valideret fx mine priser, således at der accepteres et komma som decimal-adskiller. Ligeledes, ønsker jeg også at benytte "Data Annotation Validaton", hvilket vil sige, at jeg fx kan definere en parial class der ser således ud:
[MetadataType(typeof(Product_Validation))]
public partial class Product
{
}
public class Product_Validation
{
[Required(ErrorMessage = "Varenummer skal oplyses")]
[ProductIdent(ErrorMessage = "Varenummer må kun bestå af tal og mellemrum")]
public string ProductIdent { get; set; }
[Required(ErrorMessage = "Beskrivelse skal angives")]
public string Description { get; set; }
}
Dvs jeg kan definere at fx ProductIdent og Description er informationer der SKAL angives.
I min web.config er der følgende appSettings:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Dvs der skal være noget javascript der validerer informationer inden de sendes til serveren.
(Og nu til problemet!!!)
Hvis jeg sætter UnobtrusiveJavaScriptEnabled til true, så fanger javascripten at fx ProductIdent ikke er udfyldt. Men samtidigt vil den ikke acceptere en pris på fx 10,50.
Sætter jeg UnobtrusiveJavaScriptEnabled til false, så kan jeg godt indsætte prisen på 10,50, men pludselig fanges en ikke-udfyldt ProductIdent ikke længere!
Er der nogen der har et bud på, hvordan pokker jeg får den til at acceptere danske karakterer, samtidigt med at den fanger blanke, påkrævede felter?
Jeg har selv en idé om, at jeg muligvis mangler at få hentet/indlagt det jquery-script der sørger for at validere "på dansk".