Ajax验证在jquery验证引擎中不起作用
我不熟悉jquery验证引擎,并在asp.net mvc应用程序中使用它验证ItemNo。在我看来,我正在使用以下代码:Ajax验证在jquery验证引擎中不起作用,jquery,ajax,asp.net-mvc,jquery-validation-engine,Jquery,Ajax,Asp.net Mvc,Jquery Validation Engine,我不熟悉jquery验证引擎,并在asp.net mvc应用程序中使用它验证ItemNo。在我看来,我正在使用以下代码: @Html.TextBoxFor(model => model.ItemNo, new { @class="validate[required,ajax[ajaxCheckItemNo]]" }) 我的jquery.validationEngine-en.js中的以下代码 "ajaxCheckItemNo": { // remote j
@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 });
当我运行代码时,服务器代码也会返回值,但在我的视图中,只有加载消息显示如下
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 });
}
我通过在ajax响应中以这种格式返回json解决了这个问题
["field_id",true]