Kendo Grid Редактировать сообщение InLine Custom Validation, например, для дубликатов имен и т. д.
У меня есть сущностьМесто нахождения и я использую Kendu UI Grid с режимом редактирования InLine. Субъект владеет собственностьюОтображаемое имя, который требуется ине должно существовать дважды в базе данных.
На данный момент он работает для отображениянеобходимые Сообщение проверки:
И это также работает, чтобы создать методCustomValidateModel называется вLocationController Ajax InLine Create метод, который проверяет, существует ли имя в базе данных, и добавляет затемModelError, Я ловлю эту ошибку, то в.Events (events => events.Error (»OnError»)) через javascript и показать затем сообщение через всплывающее окно javascript.
ModelState.AddModelError("DisplayName", "Name already exists.");
И это суть вопроса: Я неЯ не хочу иметь это всплывающее сообщение JavaScript. Я хочу также иметь эту информацию под полем, как это "Поле обязательно для заполнения! сообщение. Я искал много времени, но большинство людей предлагают только эту Валидацию и вывод через javascript, как это работает в данный момент.
Кроме того, актуальной проблемой, помимо всплывающего окна, является то, что запись, которую пользователь хочет создать в сетке, затемисчезающий после подтверждения всплывающего окна JavaScript. Но для удобства я хочу, чтобы новая строка и ввод сохранялись. Пользователи должны иметь возможность редактировать данное имя, которое он хочет сохранить. И НЕ следует вводить всю строку снова. Только сообщение проверкиИмя уже существует. " должен запросить информацию.
Код:
Местоположение объекта:
public class LocationDto
{
public Guid? ID { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Field required!")]
public string DisplayName { get; set; }
// other properties
}
LocationController Метод действия:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateInline([DataSourceRequest] DataSourceRequest request, LocationDto model)
{
CustomValidateModel(model); // checks if the DisplayName is already existing in the DB
if (model != null && ModelState.IsValid)
{
// Create and Save the Model into database
}
return Json(ModelState.ToDataSourceResult());
}
функция JavaScript:
function onError(e, status) {
if (e.errors) {
var message = "Error:\n";
$.each(e.errors, function (key, value) {
if (value.errors) {
message += value.errors.join("\n");
}
});
this.cancelChanges();
alert(message);
}
}
Я надеюсь, что есть возможность заставить это работать таким же образом. Это было бы хорошо в соответствии с конгруэнтной визуализацией и улучшением удобства использования.