Search code examples
jqueryajaxasp.net-mvcjquery-validation-engine

Ajax validation not working in jquery validation engine


I am new to jquery validation engine and using it for validation of ItemNo in my asp.net mvc application. I am using following code in my view:

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

following code in my 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"
            }

and following code in my controller

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

when I run code my break comes to my server code also returns value but on my view only loading message is display like this

enter image description here


Solution

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