Sorry, the above code did not have any metadata. I tried it with the
rule specification and it works when both the "file" and "text"
elements are missing. But then when I enter the value for one of them
and hit Submit, the form gets submitted. I am not sure what I am doing
wrong... Please let me know what i am doing wrong... thanks!



$("#uploadform").validate({
        rules: {
                id11: {
                        required: true,
                        depends: function(element) {return  
$("#id1").is(':visible') }
                },
                id12: {
                        required: true,
                        depends: function(element) {return 
$("#id2").is(':visible') }
                },
                text1: {
                        required: true,
                        depends: function(element) {return 
$("#id1").is(':visible') }
                },
                text2: {
                        required: true,
                        depends: function(element) {return 
$("#id2").is(':visible') }
                },
                file1: {
                        required: true,
                        depends: function(element) {return 
$("#id1").is(':visible')}
                },
                file2: {
                        required: true,
                        depends: function(element) {return 
$("#id2").is(':visible') }
                }
      }
   }
);

On May 3, 6:54 pm, ecognium <ecogn...@gmail.com> wrote:
> Hi All,
>     I am trying to use the validate plugin to validate a form but it
> does not work..Could you please let me know what i am doing wrong?
>
>    The page starts with a simple drop down asking for the user to
> choose a category. Once the category is chosen, a div block becomes
> visibile. WHen the user clicks submits the form, I would like to
> validate the form only for the visible elements. Since I was trying to
> figure out how to use the validate plugin i was just calling the
> plain .validate() call without any rules.. even that does not work.. I
> also tried removing the category selection and kept all the form
> elements visible.. even then I was able to get it to work...
>
>     I am attaching the HTML code with the jquery validate call.. could
> you please let me know what i should do to make this work?
>
> Thanks!
>
> <code>
> <!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>
>                 <title> Validate </title>
>
>                  <meta http-equiv="Content-type" 
> content="text/html;charset=UTF-8" /
>
>
>
>                 <script type="text/javascript" 
> src="include/jquery-1.3.2.min.js"></
> script>
>
>                 <script type="text/javascript" src="include/
> jquery.validate.pack.js"></script>
>
>                 <script type="text/javascript">
>                 <!--
>
>                         $(document).ready(function() {
>
>                                 $("#uploadform").validate();
>
>                                 $('#id1').hide();
>                                 $('#id2').hide();
>                                 if ($('#category').val() == 'v1') 
> $('#id1').show();
>                                 else if ($('#category').val() == 'v2') 
> $('#id2').show();
>
>                                 $('#category').change(function() {
>                                         if ($(this).val() == 'none') {
>                                                 $('#id1').hide();
>                                                 $('#id2').hide();
>                                         } else if ($(this).val() == 'v1') {
>                                                 $('#id1').show();
>                                                 $('#id2').hide();
>                                         }  else if ($(this).val() == 'v2') {
>                                                 $('#id1').hide();
>                                                 $('#id2').show();
>                                         }
>                                   });
>
>                         });
>                         // -->
>
>                 </script>
> </head>
>
> <body>
>
> <div id="categ-container">
>   <div id="categ-content">
>         <div>
>         <p>Select your category to get started. </p>
>                 <label> Category </label>
>                 <select id="category">
>                         <option  value="none" ></option>
>                         <option  value="v1" > V1 </option>
>                         <option  value="v2" > V2 </option>
>                 </select>
>                 <p></p><p></p>
>         </div>
>
>         <form id="uploadform" method="post" action="#">
>
>         <div id="id1">
>                 <table border="0" >
>                 <tr><td><label> Location </label> </td>
>                 <td><input type="file" name="file1"/></td></tr>
>                 <tr><td><label> Cat1 </label> </td>
>                 <td>
>                         <select id="id11" name="cat1">
>                         <option  value="v1" > Value1 </option>
>                         <option  value="v2" > Value2 </option>
>                         </select>
>                 </td></tr>
>                 <tr><td><label> Cat2 </label> </td>
>                 <td>
>                         <select id="id12" name="cat2">
>                         <option  value="v3" > Value3 </option>
>                         <option  value="v4" > Value4 </option>
>                         </select>
>                 </td></tr>
>                 <tr><td> <label>Text:</label></td>
>                 <td><input type="text" name="text1" id="text1" /> </td> </tr>
>                 </table>
>         </div>
>
>         <div id="id2">
>                 <table border="0" >
>                 <tr><td><label> Location </label> </td>
>                 <td><input type="file" name="file2"/></td></tr>
>                 <tr><td><label> Cat3 </label> </td>
>                 <td>
>                         <select id="id21" name="cat3">
>                         <option  value="v5" > Value5 </option>
>                         <option  value="v6" > Value6 </option>
>                         </select>
>                 </td></tr>
>                 <tr><td> <label>Text:</label></td>
>                 <td><input type="text" name="text2" id="text2" /></td></tr>
>                 </table>
>         </div>
>         <p><input type="submit" value="submit" /></p>
>         </form>
>
>  </div>
> </div>
>
> </body>
>
> </html>
>
> </code>

Reply via email to