繁体   English   中英

jqgrid /身份验证

[英]jqgrid / Validation of ID

我试图在jqgrid中创建与“ ID”有关的“验证”,以使用“ custom”和“ custom_func”。

这是自定义函数,用于测试id的值是否正确地将id与数字和english(az)组合在一起。

function id_validation(value, colname) {
var idReg = /[^a-z|^0-9]/gi;
if (!idReg.test(value)) {
    alert("ID는 영숫자 조합만 사용하세요");
    }
}

这是列名“ USER_ID”,我想应用上述功能,因此在“ editrules”中使用了“ custom”和“ cusotm_func”。

colModel: [               
            {name: 'USER_ID', index: 'USER_ID', editable: true, sortable: false, search: false, editrules: {custom: true, custom_func: id_validation}} ],

除非我输入正确的值,否则这段代码执行得很好,但是最大的问题是即使我输入正确的值,它也会向我显示警报。 无论值如何,它都会发出警报。 我错过了什么? 我必须修理哪些零件?

对于匹配字符串中任何非字母数字字符的正则表达式,您可以简单地使用

[^0-9a-zA-Z]

您也可以简单地添加_,如果您希望它也有效,就像这样

[^0-9a-zA-Z_]

因此,如果其中有任何包含非字母数字字符的符号,.test(string)应该现在匹配,并且如果每个字符都是字母或数字(或者如果要包括下划线,则带下划线)将不匹配。

验证的目的是不显示验证消息。 只需告知jqGrid输入是否有效。 如果输入无效,则应返回带有错误消息的字符串 因此, id_validation函数应在没有错误的情况下返回[true] (具有一个true元素的数组)或[true, ""] ,并在输入数据错误的情况下返回类似[false, "error message"]数组。 请参阅文档 因此,代码应与以下内容有关:

function id_validation (value, colname) {
    return /^[A-Za-z0-9]+$/.test(value) ? 
        [true] :
        [false, "ID는 영숫자 조합만 사용하세요"];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM