ラジオボタンと同様にただ「required」を付ければ良いと思っていましたが、チェックボックスだと違いました。
required属性について
ラジオボタンとは異なり、チェックボックスでは部品単位で指定することになります。
ということで、jQueryのプラグインvalidate.jsを使うことに。
以下はサンプル。
<!doctype html>
<html>
<head>
<meta charset="utf-8" content="">
<title>jquery.validateのサンプル</title>
<link href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript" ></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js" type="text/javascript"></script>
<script src="./dist/jquery.validate.min.js"></script>
<!-- スクリプト部分 -->
<script type="text/javascript">
$(document).ready(function() {
$("#testForm").validate({});
});
</script>
</head>
<!-- HTML部分 -->
<body>
<form id="testForm" method="POST" action="./index.html">
<input type="text" name="testinput" class="required"/>
<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
また、複数チェックした場合にPHPで値を受け取りたい場合は配列を使う。
<input type="checkbox" name="test[]" value="hoge" />hoge<br />
<input type="checkbox" name="test[]" value="fuga" />fuga<br />
<input type="checkbox" name="test[]" value="piyo" />piyo<br />
<?php
$test = $_post['foo'];
var_dump($test);
array(3) {
[0]=>
string(4) "hoge"
[1]=>
string(4) "fuga"
[2]=>
string(4) "piyo"
}