Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何更改来自MVC3控制器的默认验证消息?_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 如何更改来自MVC3控制器的默认验证消息?

Asp.net mvc 如何更改来自MVC3控制器的默认验证消息?,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我有下面的代码问题,最简单的方法是显示弹出消息 并保持验证不变,但不知何故无法弄清楚如何在不返回视图的情况下直接显示来自控制器的信息消息。我知道这是个坏习惯,但对我来说,这是最容易做到的。 当前代码验证该字段并使其失败,但给出默认的通用消息。我想更改该消息或显示带有其他信息的弹出窗口 public ActionResult IsValidName(string param1) { //some code... var result = (c

我有下面的代码问题,最简单的方法是显示弹出消息 并保持验证不变,但不知何故无法弄清楚如何在不返回视图的情况下直接显示来自控制器的信息消息。我知道这是个坏习惯,但对我来说,这是最容易做到的。 当前代码验证该字段并使其失败,但给出默认的通用消息。我想更改该消息或显示带有其他信息的弹出窗口

public ActionResult IsValidName(string param1)
        {
        //some code...
            var result = (count == 0);
            if (!result)
        //Popup Message(Record Exists!) and proceed

            return Json(result, JsonRequestBehavior.AllowGet);
}
我试过:

    if (!result)
        return Json(new JsonResult { "Record already   exists",JsonRequestBehavior.AllowGet);
但是我不知道如何在我的验证javascript中拦截新的Json返回
默认消息的来源。

确实没有提供足够的信息,但我将概述正确的方法

如果您有一个表单需要调用应用程序来验证特定字段,那么您可以方便地在模型中标记字段属性,如下所示:

模型

控制器

public ActionResult IsValidName(string param1)
{
        //some code...
            var result = (count == 0);
            if (!result)
        //Popup Message(Record Exists!) and proceed

        return Json(result, JsonRequestBehavior.AllowGet);
}
看法


这是一种很好的内置框架方法。它将在页面上显示错误消息。如果您真的想创建一个警报框,您可以编写自己的jQuery函数来检查字段上的keyup,调用此控制器操作进行验证,然后根据结果显示警报。真的建议不要这样做。

好的,我使用了Ajax路由,并在actionresult中添加了javascript回调函数
而且工作正常。

谢谢尼克,我很想这样做,但问题是我的特定视图是用javascript加上一些telerik控件创建的,我真的不知道在哪里可以放置[REMOTE]属性。。。
public ActionResult IsValidName(string param1)
{
        //some code...
            var result = (count == 0);
            if (!result)
        //Popup Message(Record Exists!) and proceed

        return Json(result, JsonRequestBehavior.AllowGet);
}
@Html.TextBoxFor(x=> x.CompanyName)
@Html.ValidationMessageFor(x=> x.CompanyName)