私のアプリケーションでは少数点を許可しようとしています(ASP.NET CoreはAzureで.Net 4.5.2 Full Frameworkで動作しています)。アプリケーションがカスタムDateTime書式でStartup.csでのみ使用デDE培養するように構成されている:数値形式がASP.NETコアで機能しない
var dtf = new DateTimeFormatInfo
{
ShortDatePattern = "dd.MM.yyyy",
LongDatePattern = "dd.MM.yyyy HH:mm",
ShortTimePattern = "HH:mm",
LongTimePattern = "HH:mm"
};
services.Configure<RequestLocalizationOptions>(
options =>
{
var supportedCultures = new List<CultureInfo>
{
//new CultureInfo("en-US") { DateTimeFormat = dtf },
//new CultureInfo("en") { DateTimeFormat = dtf },
new CultureInfo("de-DE") { DateTimeFormat = dtf },
new CultureInfo("de") { DateTimeFormat = dtf }
//new CultureInfo("en-US"),
//new CultureInfo("en"),
//new CultureInfo("de-DE"),
//new CultureInfo("de")
};
options.DefaultRequestCulture = new RequestCulture(culture: "de-DE", uiCulture: "de-DE");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
私のモデルは次のようになり、私も使用しようとした{0:#を###}これもタイプを「小数」に変更するだけでなく動作しませんでした。
[Display(Name = "ContainerWeight", ResourceType = typeof(SharedResource))]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N3}")]
public float? Weight { get; set; }
フォームを送信した場合、JavaScriptの検証でエラーが発生します。 111,222を使用している場合は、US-Windowsマシンで、私のコントローラにモデルエラーが発生します。ドイツの機械では正反対です(私は誰かに私にそれを確認するように頼んだ)。これは、ビューの一部です:
<div class="form-group col-sm-12 col-md-6">
<label asp-for="Weight" class="col-md-3 control-label"></label>
<div class="col-md-9">
<input asp-for="Weight" class="form-control" />
<span asp-validation-for="Weight" class="text-danger" />
</div>
</div>
は、私は同様のトラブルDateTime書式が動作するようになっていたが、それを考え出し、これは任意のアイデアが高く評価され
:-)私のためにハードに思えます。