LPS-51955

The root issue is that we don't assign the correct value to checkbox field and use correct way to validate the checkbox field.

By default, if we don't set value property in checkbox label, even though we checked and unchecked the checkbox, its value still be "on". Due to we do not the validation( just like the radio field), it will assign "on" to fieldsMap[key] so that "currentFieldValue.match(/^\s*$/)" will passed the check.

So we should use the same way as radio field to validate the checkbox field.

By the way, please refer to the below example to check "even though we checked and unchecked the checkbox, its value still be "on"."

     <html>
        <input id="A" type="checkbox"  onclick="" name="A">
         <input id="B" type="radio" name="B"/>
         <input type="button" onclick="save()" value = "send"/> 
     </html>
      <script type="text/javascript">
      function save() {
	  var checkbox = document.getElementById("A");
	   var radio = document.getElementById("B");

         alert(checkbox.value);
         alert(radio.value);
       }
        </script>

Thanks,
Hai