我想为custom_func重用以下代码:
function validLen(value,colName){
if(value.length === 8){
return [true,""];
}
else{
return [false,"fail"];
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试给它一个额外的参数如下:
function validLen(value,colName,length){
if(value.length === length){
return [true,""];
}
else{
return [false,"fail"];
}
}
Run Code Online (Sandbox Code Playgroud)
并称之为:
{name:'cntrct_id', editrules:{custom: true, custom_func:validLen(8)} },
Run Code Online (Sandbox Code Playgroud)
没工作.以前的代码可以工作,但如上所述,我想要一个可重用的功能.这有解决方法吗?我做错了吗?
我建议你使用
editoptions: { maxlength: 8}
Run Code Online (Sandbox Code Playgroud)
而不是您使用的自定义验证.在这种情况下,将直接使用maxlength属性创建input元素.因此,用户将无法输入更多字符作为指定的字符maxlength.
更新:您无法更改任何回调函数的界面,但您可以custom_func通过以下方式共享不同的公共代码.您可以定义具有三个参数的自定义验证函数
function validLen (value, colName, valueLength) {
if (value.length === valueLength) {
return [true, ""];
}
else {
return [false, "fail"];
}
}
Run Code Online (Sandbox Code Playgroud)
并以下列方式使用它
{
name: 'cntrct_id',
editrules: {
custom: true,
custom_func: function (value, colName) {
return validLen(value, colName, 8);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你需要在this里面使用,custom_func你可以return validLen(value, colName, 8);改为return validLen.call(this, value, colName, 8);.
| 归档时间: |
|
| 查看次数: |
4932 次 |
| 最近记录: |