将输入设置为无效

Lub*_* K. 23 validation jquery

我有两个输入,例如

pass:       <input type="password" name="pass" required/>
pass again:  <input type="password" name="pass2" required/>
Run Code Online (Sandbox Code Playgroud)

我想比较这些输入,如果匹配,则将输入设置为有效.我尝试过这个,但我认为这prop('valid', true);不起作用:

$(document).ready(function() {
    $('input[name=pass2]').keyup(function() {
        if($('input[name=pass]').val() == $('input[name=pass2]').val()) {
            $('#pass_hint').empty();
            $('#pass_hint').html('match');
            $(this).prop('valid', true);
        } else {
            $('#pass_hint').empty();
            $('#pass_hint').html('mismatch');
            $(this).prop('invalid', true);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我创建了一个注册表单,如果密码不一样,输入字段无效,我不能提交这个并给我一些提示.......我不知道如何将此输入设置为无效

rin*_*t.6 35

HTMLInputElement接口中,没有validor 这样的属性invalid.

您可以将该setCustomValidity(error)方法与本机表单验证一起使用.

至于你的脚本,这是一个应该适用于所有HTML5兼容浏览器的演示:

$('input[name=pass2]').keyup(function () {
    'use strict';

    if ($('input[name=pass]').val() === $(this).val()) {
        $('#pass_hint').html('match');
        this.setCustomValidity('');
    } else {
        $('#pass_hint').html('mismatch');
        this.setCustomValidity('Passwords must match');
    }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action='#'>
    <p>Password:
        <input name=pass type=password required>
    </p>
    <p>Verify:
        <input name=pass2 type=password required>
    </p>
    <p id=pass_hint></p>
    <button type=submit>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

  • @PatPeter 这是一个 CSS 选择器,而不是 DOM 元素上的属性。 (2认同)