asp.net-mvc - Asp 验证小数未正确绑定
问题描述
我对 asp-validation 有疑问。我有一个十进制字段,我希望它介于 0.00 和 1.00 之间。
这是我的模型:
public class Intent
{
public Guid Id { get; set; }
public Language Language_ { get; set; }
public Boolean Active { get; set; }
[Range(0.00, 1.00)]
public decimal Tolerance { get; set; }
public LuisApp LuisAppFr_ { get; set; }
public LuisApp LuisAppEn_ { get; set; }
public LuisApp LuisAppNl_ { get; set; }
public string UrlImage { get; set; }
}
这是我的 post 方法的签名:
public async Task<IActionResult> Create([Bind("Id,Active,Tolerance,UrlImage,Language_,Language_.TextEn,Language_.TextFr,Language_.TextNl")] Intent intent)
这是我的创建视图的一部分:
<form asp-action="Create">
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<div class="checkbox">
<label>
<input asp-for="Active" /> @Html.DisplayNameFor(model => model.Active)
</label>
</div>
</div>
<div class="form-group">
<label asp-for="Tolerance" class="control-label"></label>
<input asp-for="@Model.Tolerance" class="form-control"/>
<span asp-validation-for="Tolerance" class="text-danger"></span>
</div>
...
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
这是一张图像,显示了我的 Tolerance 字段在到达控制器时的值
绑定在前端似乎很好,但在后端却不行。有谁知道我的错误可能是什么?
感谢您的回答。抱歉,如果是转发。
解决方案
我通过在我的 startup.cs 中添加这个解决了我的问题:
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US")
});
推荐阅读
- css - 以多种尺寸显示相同的组件
- wordpress - 为 wordpress 图库功能添加选项
- php - laravel和flutter之间的加密
- perl - 在 shell 脚本中使用 SSH 命令时出错
- node.js - Firebase - 功能没有正确部署 - 没有这样的文件或目录,打开'/workspace/node_modules/shared/package.json
- nginx - nginx反向代理https到http问题
- javascript - 如何从本地服务器上的共享文件加载图像?
- javascript - 需要算法帮助
- c# - 为什么 C# System.IO.Abstractions 库正在写入磁盘?
- python - 在多列上加入两个熊猫数据框(联合)而不重复