【问题标题】:Ajax validation not working in jquery validation engineAjax 验证在 jquery 验证引擎中不起作用
【发布时间】:2014-06-23 11:35:07
【问题描述】:

我是 jquery 验证引擎的新手,并在我的 asp.net mvc 应用程序中使用它来验证 ItemNo。在我看来,我正在使用以下代码:

@Html.TextBoxFor(model => model.ItemNo, new { @class="validate[required,ajax[ajaxCheckItemNo]]" })

我的 jquery.validationEngine-en.js 中的以下代码

"ajaxCheckItemNo": {
                // remote json service location
                "url": "/DrugManager/IsItemNoAlreadyExists",
                "extraDataDynamic": ['#ItemNo'],
                // error
                "alertText": "* This name is already taken",
                // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                "alertTextOk": "* This name is available",
                // speaks by itself
                "alertTextLoad": "* Validating, please wait"
            }

以及我的控制器中的以下代码

[HttpGet]
    public JsonResult IsItemNoAlreadyExists(string ItemNo, int DrugID = 0, bool IsAddForm = true)
    {
        bool? ReturnValue = null;

        try
        {
            /* returns true/false */
            ReturnValue = ObjDrugManager.IsItemNoAlreadyExists(ItemNo, DrugID, IsAddForm);
        }
        catch (Exception ex)
        {
            /* Catch Exception Here */                
        }

        return Json(new { ReturnValue });

当我运行代码时,我的服务器代码也会返回值,但在我看来,只有加载消息是这样显示的

【问题讨论】:

    标签: jquery ajax asp.net-mvc jquery-validation-engine


    【解决方案1】:
            public JsonResult IsItemNoAlreadyExists(string ItemNo, int DrugID = 0, bool IsAddForm = true)
            {
                bool? ReturnValue = null;
         ArrayList validationResult = new ArrayList();
                validationResult.Add("ItemNo");
                try
                {
                    /* returns true/false */
                    ReturnValue = ObjDrugManager.IsItemNoAlreadyExists(ItemNo, DrugID, IsAddForm);
    
     if(ReturnValue ==false)
                {
                    validationResult.Add(ReturnValue );
                    validationResult.Add("Error message.");
                }
                else{
                    validationResult.Add(ReturnValue);
                    validationResult.Add("success message");
                }       
                }
                catch (Exception ex)
                {
                    /* Catch Exception Here */                
                }
    
                return Json(validationResult, JsonRequestBehavior.AllowGet });
        }
    

    【讨论】:

      【解决方案2】:

      我通过在 ajax 响应中以这种格式返回 json 来解决它。

      ["field_id",true]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多