用于jquery表单验证的选择字段

时间:2013-06-04 05:55:17

标签: php jquery validation

我实际上在做一个调查表创建(类似于surveymonkey)。有一个列,您可以选择是否要将此问题作为必填字段。从那里开始,您将对创建表单时选中的所选字段进行验证。

所以现在我的问题是,必修字段是你喜欢的,所以它不是固定的。

如何编写jquery进行验证,以便根据强制要求验证所选字段?

以下是我到目前为止所做的代码示例。它只验证其中一个字段。但是,如果创建表单的人决定拥有多个必填字段,则不会检查下一个字段。

<?php
$vQuery = "SELECT * FROM scFormLayout WHERE surveyID = '$id'";
$vResult = sqlsrv_query($conn, $vQuery);

while ($value = sqlsrv_fetch_array($vResult)) {
    $vID = $value['id'];
    $qnsID = 'qns'.$vID.'[]';
    $compulsory = $value['compulsory'];
    $vQuestion = $value['question'];

if ($compulsory == 'Compulsory') {
?>
    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            // 1. prepare the validation rules and messages.
               var rules = {"<?php echo $qnsID; ?>": "required"}; 
               var messages = {"<?php echo $qnsID; ?>": "<?php echo $vQuestion; ?> is required"};
            // 2. Initiate the validator
               var validator= new jQueryValidatorWrapper("Form",rules, messages);
            // 3. Set the click event to do the validation
               $("#btnValidate").click(function () {
                   if (!validator.validate())
                         return;
                   });
               });

   </script>
<?php } }
sqlsrv_free_stmt($vResult); ?>

1 个答案:

答案 0 :(得分:0)

更好的方法是在你的while循环中为每个问题(应该是必需的)添加一个“必需”类。

然后只需在表单上的document.ready()函数中的单独脚本标记下使用jquery.validate。如果有帮助或者您需要更多信息,请告诉我。

---编辑--- 例如,在您的情况下,如果您在while循环中向用户显示来自数据库的问题,对于某些问题,您将“强制”值设置为“强制”。现在你想要只根据jquery的要求验证这样的问题。接下来是如何去做。

enter code here

<?php
while($res = $results) {
  echo $res['question'].'<br/>';
  if($res['compulsory'] = 'Compulsory')
      echo '<input name = "any_name" class="required">';
  else
      echo '<input name = "any_name">';
}
?>
<script>
$(document).ready(function () {

$('#myForm').validate();

})
</script>

希望信息足够。