Materalize 已经支持对输入字段(例如电子邮件)的验证,但我想动态验证输入字段(例如密码)。基本上这意味着通过 javacript 添加错误或成功标签。
到目前为止,我的成功率很低。例如,当我调用 change()
JS 函数并尝试 addClass('valid')
时,没有任何反应,从我所看到的来看,该类甚至没有出现在 HTML 中。我知道这个函数正在工作,因为如果我添加一个像“test”这样的无意义类,它就会显示在 HTML 中。
这不是像添加 'valid'
或 'invalid'
那么简单 - 在标 checkout 现之前我需要满足其他条件吗?
任何帮助将不胜感激。
最佳答案
我的解决方案是包含如下错误标签:
<div class="input-field col s9 offset-s1">
<i class="material-icons prefix">perm_identity</i>
<input id="register_user" name ="register_user" type="text">
<label id="reg-user-error" style="display:none" for="register_user" data-error="short" data-success="good">Username</label>
<label for="register_user">Username</label>
</div>
但请确保默认隐藏标签。然后我只需要用 javascript 修改类并显示标签。如果默认情况下不隐藏,则任何输入都会自动验证标签。我的JS是:
$('#register_user').on('change',function()
{
if($('#register_user').val().length > 7)
{
if($('#register_user').hasClass('invalid'))
{
$('#register_user').removeClass('invalid');
}
$('#register_user').addClass('valid');
$('#reg-user-error').addClass('active');
$('#reg-user-error').show();
}
else if($('#register_user').val().length < 8)
{
if($('#register_user').hasClass('valid'))
{
$('#register_user').removeClass('valid');
}
$('#register_user').addClass('invalid');
$('#reg-user-error').addClass('active');
$('#reg-user-error').show();
}
});
关于javascript - Materialize CSS 错误标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35676558/