Kendo ui — как связать проверку с атрибутами модели mvc

Из сообщений в этой теме - и невозможность разместить там вопрос по какой-то странной причине :( Я задам его здесь в надежде получить решение

Я пишу, говоря, что я должен выполнить проверку, как показано ниже.

  1. Я добавляю атрибут html5 (data-required-msg/validationMessage) в текстовое поле, а также требуемый атрибут.
  2. Я делаю диапазон для недопустимого сообщения и привязываю его к полю с атрибутом «данные для». В этом диапазоне должно появиться сообщение «Пожалуйста, введите имя».

Вопросы

  1. Это единственный способ работать с этим?
  2. Нет ли у меня возможности отобразить правильное сообщение об ошибке («Сообщение об ошибке, которое я хочу показать»), как-либо привязать к атрибутам mvc в ViewModel. Как сказал другой постер, это гораздо более масштабируемый/повторно используемый и лучший дизайн.

Использование data-for="Name" очень ненадежно, так как изменение имени поля модели не будет отражаться там, и об этом можно забыть, что приведет к доставке программного обеспечения с ошибками. Вы теряете тип безопасности чего-то вроде

@Html.ValidationMessageFor(m=> m.Name)

Код

public class AViewModel
{
       [Required(ErrorMessage="Error Message I want to show")]
        public string Name { get; set; }
}

<div class="validation-wrapper">
                <div class="input-wrapper">
                    @Html.TextBoxFor(m => m.Name, new { placeholder = "eg. John Smith", data_required_msg="PleaseEnter name", required="required" } )                           
                </div>
                <span class="k-invalid-msg" data-for="Name"></span>
            </div>

Привет, Дж.


person John    schedule 25.04.2013    source источник
comment
Это обсуждается на форумах телерика: Использование Kendo Validator с Свойства модели MVC   -  person    schedule 18.02.2014


Ответы (1)


Чтобы иметь возможность делать то, что вы говорите, вам нужно использовать пользовательский интерфейс Kendo для ASP.NET MVC. При этом вы можете продолжать использовать свои атрибуты DataAnnotations и помощники Html.ValidationMessageFor(), как и раньше. Все, что вам нужно сделать, это вызвать $('[your_form_selector]').kendoValidator() после вашей формы (или в document.ready()).

person Vesselin Obreshkov    schedule 15.05.2013