Десятичный валидация Asp не связана правильно - PullRequest
0 голосов
/ 25 мая 2018

У меня проблема с проверкой asp.У меня есть десятичное поле, которое я хочу, чтобы быть между 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 post :

        public async Task<IActionResult> Create([Bind("Id,Active,Tolerance,UrlImage,Language_,Language_.TextEn,Language_.TextFr,Language_.TextNl")] Intent intent)

Вот часть моего Create View :

<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>

Вот изображение, показывающее значениемое поле допуска, когда оно попадает в контроллер

А вот изображение моего сетевого запроса

Сообщение об ошибке я получаю

Кажется, что привязка хороша на внешнем интерфейсе, но не на внутреннем.Кто-нибудь знает, в чем может быть моя ошибка?

Спасибо за ваш ответ.Извините, если это репост.

1 Ответ

0 голосов
/ 25 мая 2018

Я решил свою проблему, добавив это в мои startup.cs:

app.UseRequestLocalization(new RequestLocalizationOptions
        {
            DefaultRequestCulture = new RequestCulture("en-US")
        });
...