相关疑难解决方法(0)

Kendo Grid编辑InLine自定义验证消息,例如重复名称等

我有一个实体位置,我正在使用具有InLine编辑模式的Kendu UI网格.该实体拥有属性DisplayName,该属性是必需的,并且在数据库中不得存在两次.

目前,它可以显示" 必需的验证"消息: 在此输入图像描述

它还可以构建一个在LocationController Ajax InLine Create方法中调用的方法CustomValidateModel,该方法检查Name是否已存在于数据库中,然后添加ModelError.我通过javascript 在.Events(events => events.Error("onError"))中捕获此错误,然后通过javascript弹出显示消息.

ModelState.AddModelError("DisplayName", "Name already exists.");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这就是问题的症结所在:我不想拥有这个javascript弹出消息.我想在这个领域下面也有这个信息,比如"需要现场!" 信息.我已经搜索了很多时间,但大多数人建议只有这个验证和输出通过javascript,因为它在当下工作.

另外,除了弹出窗口之外的实际问题是,在确认javascript弹出窗口之后,用户想要在Grid中创建的记录正在消失.但是为了实用性,我希望新行和输入仍然存在.用户应该能够编辑给定的名称,他想保存.而不应该再次输入完整的行.只有验证消息"名称已存在".应该提示信息.

码:

位置实体:

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

LocationController动作方法:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateInline([DataSourceRequest] DataSourceRequest request, LocationDto model)
{
    CustomValidateModel(model); // checks if …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor kendo-ui kendo-grid kendo-asp.net-mvc

12
推荐指数
2
解决办法
2万
查看次数