我正在使用位于jqgrid顶部的PHPGrid。我有一个验证功能,应该确保记录的名称是唯一的,并且名称不是空白的> 2个字符。如果有人点击添加然后输入内容并点击输入,该功能将在内联编辑表单中执行。但是,如果他们只是点击添加然后输入它不执行并发送数据保存。
{
"name":"school_name",
"index":"school_name",
"hidden":false,
"width":200,
"edittype":"text",
"editable":true,
"editoptions":{"size":"30"},
"editrules":{"edithidden":false,"required":false,"custom":true,"custom_func":validate_school_name}
},
有列定义
function validate_school_name(val, colname){
var names = $("[aria-describedby='school_school_name']");
msg = "";
alert("Val: "+val);
if(val =="" || val.length <= 2){
return [false,"You must enter a school name to continue."]
}
for(i=0; i<names.length; i++){
msg += ""+names[i].innerHTML+" = "+val+"\n" ;
if(names[i].innerHTML == val){
return [false," already exists please select a different name"]
}
}
return [true,""];
}
我正在运行验证功能。
非常感谢任何有关如何在空白记录中执行此操作的想法。
答案 0 :(得分:0)
从某些基本测试看,如果在editrules中将required设置为false,则不会调用验证函数。不幸的是,如果将其设置为true,它会在调用自定义验证器之前检查空值(带有通用消息)。
然而它可能仍然适用于您,因为它会强制他们在该字段中选择某些内容,然后当它们执行时将在您的自定义函数中进行验证