即使没有输入值,JS验证错误也会触发

时间:2011-01-31 19:38:20

标签: javascript forms dojo validation

我有一个问题,我有3个输入字段。第一个字段用于用户名,另外两个字段用于密码验证。现在密码字段不能包含用户名字段,所以如果密码字段包含用户名的任何部分,我已经编写了显示消息的逻辑。但是,如果用户名字段中没有任何内容,则在密码字段中键入内容时仍会触发相同的验证消息。

这是代码

获取用户名字段的代码:

if (document.getElementById("tUserName")) {
        uN = document.getElementById("tUserName").value;
    }
    else {
        uN = "";
    }

用户名字段regEx:

containsUsername = new RegExp(uN);

这是负责验证错误消息的代码:

if (document.getElementByIdd("tUserName")) {
        if (containsUsername.test(value)) {
            dojo.addClass(dojo.byId('result-userName'), 'hide');  
        }
        else {
            dojo.removeClass(dojo.byId('result-userName'), 'hide');
        }
    }

1 个答案:

答案 0 :(得分:1)

我担心我必须在这里忽略这一点,所以如果我是......请耐心等待。

因此,您希望在用户名字段中输入密码时不显示验证错误吗?

在尝试通过正则表达式运行之前,您是否只能检查用户名是否具有空字符串以外的值?

if (document.getElementById("tUserName")) {
    if (document.getElementById("tUserName").value != '' && containsUsername.test(value)) {
        dojo.addClass(dojo.byId('result-userName'), 'hide');  
    }
    else {
        dojo.removeClass(dojo.byId('result-userName'), 'hide');
    }
}