如何正确验证复选框值

时间:2014-11-20 13:32:26

标签: javascript php html

我尝试将checkbox值上传到我的db,它正确上传但未经过验证。如果我没有检查任何内容,它仍会POST其他字段上的其余值,而不是提醒我从我的复选框中选择。我所有设置都没有正常工作。我是否正确验证了checkbox值?

这是我的HTML代码:

<table width="200">
    <tr>
        <td>
            <label>
                <input type="checkbox" name="Verification[]" value="Test1" id="Verification_0" />
                BuildServerPath</label>
        </td>
    </tr>
    <tr>
        <td>
            <label>
                <input type="checkbox" name="Verification[]" value="Test2" id="Verification_1" />
                File Exist</label>
        </td>
    </tr>
    <tr>
        <td>
            <label>
                <input type="checkbox" name="Verification[]" value="Test3" id="Verification_2" />
                WBS Code</label>
        </td>
    </tr>
    <tr>
        <td>
            <label>
                <input type="checkbox" name="Verification[]" value="Test4" id="Verification_3" />
                UAT Contact</label>
        </td>
    </tr>
</table>

以下是我POST的方式,我有两个选项

$Verification = implode('\r', $_POST['Verification']);

OR

$verify=""; 
$flag=0; 
foreach($Verification as $entry){ 
    $verify .= $entry."\r"; 
    $flag=1; 
} 
if($flag==1){ 
    $verify=rtrim($verify); 
} 

现在,我将尝试验证它。此类验证适用于我的radio buttontext fields; document.form1.verify.value==""已更改为verifyVerification,具体取决于我使用的帖子方法

function validateDBLoad()
{
    if ((document.form1.verify.value == "")
    {
        alert('Please fill up all the fields..');
        return false;
    }
    else
    {
        alert('Ticket upload Successful.');
        return true;
    }
} 

我还尝试按照此处的步骤进行操作:Checkbox validator但似乎无法使用我已设置的验证码,它会向我发出提醒,请选择一个复选框!& #34;但同时上传我的其他值,

以下是我尝试过的js

var inputs = document.getElementById('my-form').getElementsByTagName('input');
var checked = 0;
for (var i = 0, length = inputs.length; i < length; i++) {
    if (inputs[i].getAttribute('type') !== 'checkbox') {
       continue;
    }

    if (inputs[i].checked) {
        checked++;
    }
}

if (checked === 0) {
   alert('Select a checkbox, please!');
}

1 个答案:

答案 0 :(得分:0)

只需你可以做到这一点

if(document.querySelectorAll('#my-form input[type=checkbox]:checked').length===0){
   alert("Please select atleast one checkbox");
   return false;
}
if(validationForYourOtherFieldsIsNotFine){
   alert("Other validations will happen here");
   return false;

}