Kendo Grid Modifier le message InLine Custom Validation, par ex. pour les noms en double, etc.

J'ai une entité Lieu et je suis en utilisant le Kendu de l'INTERFACE utilisateur de la Grille en ligne en mode edit.
L'entité possède une propriété DisplayName, ce qui est nécessaire et ne doit pas exister deux fois dans la base de données.

À l'heure actuelle, il travaille pour afficher le message de Validation:
Kendo Grid Modifier le message InLine Custom Validation, par ex. pour les noms en double, etc.

Et il travaille également à construire une méthode de CustomValidateModel appelé LocationController Ajax InLine méthode de création, qui vérifie si le Nom est déjà existant dans la base de données et ajoute ensuite un ModelError. Je rattrape cette erreur alors dans le .Les événements(events => les événements.Erreur("onError")) via javascript et de montrer ensuite le message via javascript popup.

ModelState.AddModelError("DisplayName", "Name already exists.");

Kendo Grid Modifier le message InLine Custom Validation, par ex. pour les noms en double, etc.

Et c'est le cœur de la question: je ne veux pas avoir ce javascript popup message. Je veux avoir aussi cette information ci-dessous le domaine, à l'instar de ce "Champ obligatoire!" message.
J'ai cherché beaucoup de temps, mais la plupart des gens suggèrent que cette Validation et la sortie via du javascript, il travaille dans l'instant.

En outre, le problème réel en plus de la fenêtre contextuelle, est, que l'enregistrement, l'utilisateur veut créer dans la Grille, puis sur disparition après la confirmation du javascript popup.
Mais pour l'ergonomie, je veux que la nouvelle ligne et l'entrée persiste. Les utilisateurs devraient être en mesure de modifier le Nom donné, il voulait sauver. Et NE devrait saisir l'intégralité de la ligne à nouveau. Seul le message de Validation "Nom déjà existant." doit demander les informations.

Code:

Localisation de l'entité:

public class LocationDto
{
    public Guid? ID { get; set; }
    [Required(AllowEmptyStrings = false, ErrorMessage = "Field required!")]
    public string DisplayName { get; set; }
    //other properties
}

LocationController méthode d'Action:

[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());
}

fonction 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);
    }
}

J'espère qu'il ya une possibilité de le faire fonctionner de la même manière. Il serait bien selon conforme à la visualisation et à une amélioration de la convivialité.

source d'informationauteur florian.isopp