我正在使用LiveValidation进行客户端表单验证。http://livevalidation.com/examples
我还有一个应用了Select2的多选表单字段。
问题是,如果我将Select2字段留空(不选择任何内容),那么我的表单将在按下提交按钮后自行提交,而不验证任何其他表单字段。
但是,如果我确实在Select2字段中选择了某些内容并尝试提交表单,那么LiveValidation将尝试验证表单中的其他字段(包括Select2字段),如果它们验证失败 - 表单不会提交并提示用户首先修复错误。
更新:即使我从多选表单字段中删除了 Select2,当它为空/未选择任何内容时,LiveValidation 仍然会跳过验证。
应用了Select2的选择字段(我使用 PHP 函数 getSelectOptions 使用表中单个列的行值填充选择的选项):
<form id="myform" name="myform" method="post" action="myscript.php">
...
<select id="myselect" name="myselect[]" multiple="multiple">
<?php getSelectOptions("table_name", "column_name"); ?>
</select>
...
</form>
以下是我如何将Select2应用于文件前面的选择字段:
$(function()
{
...
$('#myselect').select2({ placeholder: "Select items" });
...
});
在这里,我在Select2之后将LiveValidation应用于选择字段(通过添加Validate.Presence我告诉它选择字段不能为空/需要有一个值):
$(function()
{
...
var myselect = new LiveValidation("myselect", { onlyOnSubmit: true });
myselect.add(Validate.Presence);
...
});