如何添加true和false的输入文本验证

How to add input text validation for true and false?

本文关键字:false 输入 文本 验证 true 何添加 添加      更新时间:2023-09-26

朋友们,我不知道如何为adminvar添加文本验证。点是用户在表单中输入01truefalse。检查数字可以,但我无法对文本输入进行有效检查,例如true-e-e-e、fasleee、abra-cadabra等。

    <script type="text/javascript">
    function submitEmployeeForm() {             
        // getting the employee form values
        var name = $('#name').val().trim();
        var age = $('#age').val();
        var admin = $('#admin').val();
        if(name.length ==0) {
            alert('Please enter name');
            $('#name').focus();
            return false;
        }
        if(age <= 0) {
            alert('Please enter valid age');
            $('#age').focus();
            return false;
        }
        if(admin < 0 || admin > 1)  {
            alert('Please enter 0 for false, 1 for true');
            $('#admin').focus();
            return false;
        }
        return true;
    };  
</script>

我尝试了以下2个选项:

!admin.isEqual("false") || !admin.isEqual("true")
admin.valueOf()!="true" || admin.valueOf()!="false"

因此,它不传递任何文本,包括true和false。

如果您只想接受'0','1','true','false'有效,那么就使用类似于的东西

if (['0','1','false','true'].indexOf(admin.toLowerCase()) === -1) {
        alert('Please enter 0 for false, 1 for true');
        $('#admin').focus();
        return false;
}

我们所做的是创建一个包含有效文本的数组,然后使用indexOf(parameter)在数组中搜索与传递参数匹配的任何元素。如果找到它,则返回它在数组中找到的位置,如果没有,则返回-1。因此,在您的情况下,如果它是-1,这意味着传递的值不是可接受的值之一,那么就执行您的操作。


或者,您可以使用复选框而不是文本框,只需测试它是否为checked属性是否为true。

只需尝试以下操作:

if (admin == true || admin == false || admin == "true" || admin == "false") {
    //if you want to convert -> convert it, and send to server
} else {
    //Wrong input
}

(点击此处了解更多信息。如果使用==而不是==)

,这是一个值的相等表

为什么不检查它是1、0、true还是false,而是使用这样的逻辑AND:

if(admin != 0 && admin != 1 && admin != "true" && admin != "false"){
    alert('Please enter 0 for false, 1 for true');
    $('#admin').focus();
    return false;
}