asp.net mvc jquery проверка выпадающего списка - PullRequest
3 голосов
/ 28 декабря 2010

как я могу проверить выпадающий список с ненавязчивым JavaScript? Как проверяющее текстовое поле для требуемого валидатора, но оно не работает для выпадающего списка?

Нужно поменять ненавязчивый js-файл для него? или есть ли другой вариант для проверки выпадающего списка?

Я хочу показать ошибки, когда я проверял form.validate () в моем JavaScript.

Ответы [ 6 ]

1 голос
/ 17 февраля 2011
    $(function () {
        $("#form1").validate({
            rules: {
                ProductCategoryList: {
                    required: true
                }

            },
            messages: {
                ProductCategoryList: {
                    required: "This field is required"
                }
            }
        });
    });
0 голосов
/ 25 сентября 2012

Если вы хотите интегрировать валидацию jQuery, вам нужно указать поле

Используйте DropDownListFor, а не DropDownList

@Html.DropDownListFor(c => c.Profile_Id, null, "-- Choose --", new { @class = "input-large" })

Если ваш список имеет то же имя, что и поле, вам не нужно ставить ViewBag.Profile_Is as SelectList, потому что он не работает для сценария редактирования, если вы отправляете нулевое значение в списке.

0 голосов
/ 14 июня 2012

Вы должны оставить первый вариант value="", чтобы он работал.

<asp:ListItem Value="">- Select Something -</asp:ListItem>
0 голосов
/ 18 мая 2011

Я получил эту работу, создав свойство Viewmodel, которое используется для привязки к выбранному элементу в DropDownList. Пример прояснит это:

Код в представлении:

        <div class="editor-field">
           @Html.DropDownListFor(model => model.SelectedPlantID,
                                 new SelectList(Model.Plants, "Value", "Text"),
                                 " ", new { id = "ddlPlant" })

          @Html.ValidationMessageFor(model => model.SelectedPlantID)
    </div>

Код в ViewModel будет (строго типизирован для представления):

            private List<SelectListItem> _plants = new List<SelectListItem>();
    [Required]
    [Display(Name = "Plant")]
    public List<SelectListItem> Plants
    {
        get
        {
            return (_plants);
        }

        set
        {
            _plants = value;
        }
    }

    public Guid SelectedPlantID
    {
        get;
        set;
    }

Примечание. SelectedPlantID не обязательно должен быть полем в вашей модели.

Надеюсь, это работает для вас!

0 голосов
/ 28 декабря 2010

Разметка

 <p>
        <label for="ProductCategoryList">Product Categories</label>
        <%= Html.DropDownList("ProductCategoryList", ViewData["ProductCategories"] as SelectList)%>
    </p>

И скрипт проверки

        $.validator.addMethod("selectNone",
            function (value, element) {
                return this.optional(element) || element.selectedIndex != 0;
            },
           "Please select an option."
        );


        $(function () {
            $("#form1").validate({
                rules: {
                    ProductCategoryList: {
                        selectNone: true
                    }

                },
                messages: {
                    ProductCategoryList: {
                        selectNone: "This field is required"
                    }
                }
            });
        });
0 голосов
/ 28 декабря 2010

Лучшее, что я видел, это использование плагина проверки формы jQuery:

http://plugins.jquery.com/project/validate

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...