Необходимо очистить проверку на стороне клиента EnumDropDownListFor, когда пользователь выбирает допустимую опцию - PullRequest
0 голосов
/ 08 апреля 2020

Проверка выполняется с ошибкой, если пользователь нажимает кнопку «Отправить» на странице, не выбирая действительное значение в ddl; однако, когда пользователь затем набирает go и выбирает значение, ошибка не очищается, как для текстового поля. У меня есть:

    public enum PoolDeckMaterialsEnum
    {
        Pavers,
        Concrete,
        [Display(Name = "N/A")]
        NotApplicable
    }

и

    [EnumDataType(typeof(PoolDeckMaterialsEnum))]
    [Required]
    public PoolDeckMaterialsEnum? PoolDeckMaterials { get; set; }

и

            @Html.LabelFor(model => model.PoolDeckMaterials, new { @class = "control-label" })
            @Html.EnumDropDownListFor(model => model.PoolDeckMaterials, "--- Select ---", new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.PoolDeckMaterials, "", new { @class = "text-danger" })

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Я закончил тем, что сделал следующее, чтобы немедленно очистить ошибку проверки при выборе:

//04/10/20 kk Had to do the below to clear the val immediately on selection
$("#PoolDeckMaterials").change(function () {
    $("#PoolDeckMaterials").blur(); 
});
0 голосов
/ 09 апреля 2020

Репро шаги:

  1. Открыть страницу

    • изменить значение перечисления
    • сообщение об ошибке исчезнет навсегда
  2. Открыть страницу

    • Нажмите отправить
    • изменить перечисление
    • работает сообщение проверки

Редактировать: по умолчанию должно быть несколько ошибок. Относительно валидационной регистрации.

...