javascript - JS 验证问题

标签 javascript jquery css validation

我的验证函数看起来像那样。

var fname = $("#fname").val();
var lname = $("#lname").val();

function validate() {
    var isValid = true;
     if (!fname) {
            $("#fname").attr('class', 'invalid');
            isValid=false;
        }

    if (!lname) {
        $("#lname").attr('class', 'invalid');
        isValid=false;
    }

它只是改变了未填充输入框的类。

我知道我可以为每个 if 编写 else 并在用户填写一些内容时改回默认值 (class="valid")输入。但是我如何为所有输入创建一些通用的东西,以将用户在第一次验证错误后填写的输入改回默认类?

最佳答案

图拉尔太棒了!但是,为什么您的代码中有过多的处理?这会增加不必要的压力。由于您,对于您“解决”的问题,会将“有效”类添加到所有输入类型的文本或密码中,只需将其添加到直接代码中的实际输入元素即可:

<input class='valid' ..... />

现在,回到您最初的验证:为什么不让它通用?:

function validate(formField) {
    if !formField $('#'+formField).removeClass('valid').addClass('invalid');
}

或者类似的东西......

关于javascript - JS 验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037403/

相关文章:

javascript - 谷歌地图 - 仅在用户设备大于一定尺寸时获取 map 数据

javascript - asp.net中当前上下文错误名称 'Url'不存在

javascript fs 在文件中搜索数组中的字符串。避免不良表现

javascript - 全日历时段持续时间

javascript - 如何在单击 jQuery 时将 +200 毫秒添加到 css 动画持续时间

javascript - 通过单击链接而不是图标来更改移动导航打开操作

javascript - ReactJs if else 在渲染中

javascript - 使用 jQuery 跟踪 GA 事件(通用)

jquery - -webkit-线性渐变 jquery 和 var

css - 在绝对大小的内容之间创建具有相对大小的 div