2014-04-24 77 views
0

我使用的代码在不同的标签部分拆分的形式...PHP标签 - 表单验证

<?php 
session_start(); 
require_once('./server_validation/lib.php');?> 
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery UI Tabs - Default functionality</title> 

    <script src="./server_validation/jquery-1.4.2.js"></script> 
<script src="./server_validation/jquery.validate.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('#my_form').validate({ 
      'rules': <?php echo json_encode($validation_rules); ?> 
     }); 
    }); 
</script> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
    <script> 
    $(function() { 
    $("#tabs").tabs(); 
    }); 
    </script> 
</head> 
<body> 
<form name="my_form" id="my_form" method="post" action="d1.php" enctype='multipart/form-data'> 
<div id="tabs"> 
    <ul> 
    <li><a href="#tabs-1">Nunc tincidunt</a></li> 
    <li><a href="#tabs-2">Proin dolor</a></li> 
    <li><a href="#tabs-3">Aenean lacinia</a></li> 
    </ul> 
    <div id="tabs-1"> 
    <p> <input type="text" name="textfield" id="textfield" /></p> 
    </div> 
    <div id="tabs-2"> 
    <input type="text" name="name" id="name" /> 
    </div> 
    <div id="tabs-3"> 

    </div> 
    <input name="" type="submit" value="submit" /> 
</div> 
</form> 

</body> 
</html> 

标签工作正常的广告,我可以通过数据...

标签从源

http://jqueryui.com/tabs/

但问题是在验证领域...

这是工作执行PHP文件代码..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <link rel="stylesheet" href="css/style.css" type="text/css"> 
    <script src="./server_validation/jquery-1.4.2.js"></script> 
<script src="./server_validation/jquery.validate.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('#my_form').validate({ 
      'rules': {"name":{"required":true,"minlength":2,"maxlength":30},"dd_number":{"required":true,"maxlength":20},"textfield":{"required":true,"minlength":2,"maxlength":30}}  }); 
    }); 
</script> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form name="my_form" id="my_form" method="post" action="reg.php" enctype='multipart/form-data'> 
    <label for="name"></label> 




    <input type="text" name="name" id="name" /> 
    <label for='textarea'></label> 
    <input type="text" name="textfield" id="textfield" /> 
    <input name='Submit' type='submit' value='Submit' /> 


</form> 

</body> 
</html> 

验证来源: http://anvweb.com/blog/server-side-form-validation-with-jquery-plugin-and-php/

验证工作在普通形式的罚款,而不标签...但在标签不工作..一伙的是什么问题? ??在此先感谢...

+0

你可以做一个小提琴请 –

+0

<?php echo json_encode($ validation_rules); ?>这是什么返回 –

+0

它返回的验证规则是由另一个js脚本完成..它工作在正常形式,,,但也不工作在标签格式的表格... –

回答

0

将您的validate调用中的ignore设置更改为您不使用的选择器。默认情况下,ignore具有“:hidden”,这就是隐藏标签中的组件无法验证的原因(即它们会通过,无论它们的值如何)。通过将忽略选择器更改为一个永远不会使用的选择器(例如“.jksfdhskhfbskeyh”),您的字段将像往常一样得到验证。

1

小提琴:

http://jsfiddle.net/ve6KS/3/

HTML:

<form name="my_form" id="my_form" method="post" action="d1.php" enctype='multipart/form-data'> 
    <div id="tabs"> 
     <ul> 
      <li><a href="#tabs-1">Nunc tincidunt</a></li> 
      <li><a href="#tabs-2">Proin dolor</a></li> 
      <li><a href="#tabs-3">Aenean lacinia</a></li> 
     </ul> 
     <div id="tabs-1"> 
      <p> <input type="text" name="textfield" id="textfield" /></p> 
     </div> 
     <div id="tabs-2"> 
      <input type="text" name="name" id="name" /> 
     </div> 
     <div id="tabs-3"> 
      <input type="text" name="dd_number" id="dd_number" /> 
     </div> 
     <input name="" type="submit" value="submit" /> 
    </div> 
</form> 

的jQuery:

$(function() { 
    $("#tabs").tabs(); 
    $('#my_form').validate({ 
     ignore: [], 
     rules: { 
      "name": {"required": true, "minlength": 2, "maxlength": 30}, 
      "dd_number": {"required": true, "maxlength": 20}, 
      "textfield": {"required": true, "minlength": 2, "maxlength": 30} 
     } 
    }); 
}); 
+0

非常感谢......工作正常......但是当我使用相同的代码时我无法获得结果页面..同样的问题存在... –