Jquery.Validate验证CheckBoxList,RadioButtonList,DropDownList是否选中

时间:2023-03-09 06:01:22
Jquery.Validate验证CheckBoxList,RadioButtonList,DropDownList是否选中

http://blog.csdn.net/fox123871/article/details/8108030

  1. <script type="text/javascript">
  2. //DropDownList验证方法
  3. $.validator.addMethod('selectNone',
  4. function(value, element) {
  5. return this.optional(element) ||(value!= -1);
  6. }, "请选择至少一项!");
  7. //ChekcBoxList验证方法
  8. /*
  9. $.validator.addMethod('atLeastOneChecked', function(value, element) {
  10. var checkedCount = 0;
  11. $("input[name^='" + <%=txtHistory.UniqueID %> + "']").each(function() {
  12. if ($(this).attr('checked')) { checkedCount++; }
  13. });
  14. return checkedCount>0;
  15. },"请选择至少一项");
  16. */
  17. // 手机号码验证
  18. $.validator.addMethod("isMobile", function(value, element) {
  19. var length = value.length;
  20. var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  21. return this.optional(element) || (length == 11 && mobile.test(value));
  22. }, "请正确填写您的手机号码");
  23. $(document).ready(function () {
  24. //验证CheckBoxList
  25. ValidateOptions = function(sender, args) {
  26. args.IsValid=false;
  27. var len = $("#history_DIV input:checked").length;
  28. args.IsValid = (len>0);
  29. };
  30. $("#form1").validate(
  31. {
  32. rules: {
  33. <%=txtVName.UniqueID %>: {
  34. required: true
  35. },
  36. <%=txtEmail.UniqueID %>: {
  37. required: true,
  38. email:true
  39. },
  40. <%=txtRemark.UniqueID %>: {
  41. required: true
  42. },
  43. <%=txtVSex.UniqueID %>: {
  44. required: function(element) {
  45. return $("input:radio[name='txtVSex']:checked").val()!="";
  46. }
  47. },
  48. <%=txtFrom.UniqueID %>:{
  49. selectNone: true
  50. },
  51. <%=txtMobile.UniqueID %>:{
  52. required:true,
  53. isMobile:true
  54. },
  55. <%=txtHistory.UniqueID %>:{
  56. //required: function(element) {
  57. //return ($("#history_DIV input:checked").length)>0;}
  58. //return $("#<%=txtHistory.UniqueID %> input[@type=checkbox]:checked").size()>0;
  59. // return $("input[name^='<%=txtHistory.UniqueID %>']").length>0
  60. //atLeastOneChecked: true
  61. }
  62. },
  63. messages: {
  64. <%=txtRemark.UniqueID %>:
  65. {
  66. required: "请填写报名理由"
  67. },
  68. <%=txtVSex.UniqueID %>:
  69. {
  70. required: "请选择性别"
  71. },
  72. <%=txtMobile.UniqueID %>:{
  73. required: "请填写手机号码"
  74. },
  75. <%=txtHistory.UniqueID %>:{
  76. required: "请选择届数"
  77. }
  78. }
  79. });
  80. });
  81. </script>
    1. <table width="750" border="0" cellpadding="0" cellspacing="5">
    2. <tr>
    3. <td width="150" height="40">
    4. 真实姓名:
    5. </td>
    6. <td width="600">
    7. <asp:TextBox ID="txtVName" runat="Server" Width="280px" />
    8. </td>
    9. </tr>
    10. <tr>
    11. <td height="40">
    12. 性别:
    13. </td>
    14. <td>
    15. <asp:RadioButtonList ID="txtVSex" runat="server" RepeatDirection="Horizontal">
    16. <asp:ListItem Text="男" Value="男"></asp:ListItem>
    17. <asp:ListItem Text="女" Value="女"></asp:ListItem>
    18. </asp:RadioButtonList>
    19. <br />
    20. </td>
    21. </tr>
    22. <tr>
    23. <td height="40">
    24. 手机号码:<br />
    25. </td>
    26. <td>
    27. <asp:TextBox ID="txtMobile" runat="Server" Width="280px" />
    28. <span>请填写真实手机号码方便接收活动通知</span>
    29. </td>
    30. </tr>
    31. <tr>
    32. <td height="40">
    33. E-Mail:<br />
    34. </td>
    35. <td>
    36. <asp:TextBox ID="txtEmail" runat="Server" Width="280px" CssClass="email" />
    37. <span>用于接收邮件通知</span>
    38. </td>
    39. </tr>
    40. <tr>
    41. <td height="40">
    42. 职业:<br />
    43. </td>
    44. <td>
    45. <asp:RadioButtonList ID="txtC_Name" runat="server" RepeatDirection="Horizontal">
    46. <asp:ListItem Text="学生" Value="1"></asp:ListItem>
    47. <asp:ListItem Text="职员" Value="2"></asp:ListItem>
    48. <asp:ListItem Text="经理" Value="3"></asp:ListItem>
    49. <asp:ListItem Text="家庭主妇" Value="4"></asp:ListItem>
    50. <asp:ListItem Text="*职业者" Value="5"></asp:ListItem>
    51. </asp:RadioButtonList>
    52. </td>
    53. </tr>
    54. <tr>
    55. <td height="40">
    56. 报名人数:<br />
    57. </td>
    58. <td>
    59. <asp:RadioButtonList ID="txtC_EName" runat="server" RepeatDirection="Horizontal">
    60. <asp:ListItem Text="就我一人" Value="1"></asp:ListItem>
    61. <asp:ListItem Text="两人" Value="2"></asp:ListItem>
    62. <asp:ListItem Text="三人" Value="3"></asp:ListItem>
    63. </asp:RadioButtonList>
    64. </td>
    65. </tr>
    66. <tr>
    67. <td height="40">
    68. 报名理由:
    69. </td>
    70. <td>
    71. <asp:TextBox TextMode="MultiLine" Columns="50" Rows="5" ID="txtRemark" runat="Server" />
    72. <br />
    73. <span>优质理由怎么写?1.描述您为什么要申请2.描述活动那里吸引您 3.个性化*发挥</span>
    74. </td>
    75. </tr>
    76. <tr>
    77. <td height="40">
    78. 参加过的:<br />
    79. </td>
    80. <td>
    81. <table>
    82. <tr>
    83. <td>
    84. <div id="history_DIV">
    85. <asp:CheckBoxList ID="txtHistory" runat="server" RepeatDirection="Horizontal">
    86. <asp:ListItem Text="无" Value="0">
    87. </asp:ListItem>
    88. <asp:ListItem Text="第一届" Value="1">
    89. </asp:ListItem>
    90. <asp:ListItem Text="第二届" Value="2">
    91. </asp:ListItem>
    92. <asp:ListItem Text="第三届" Value="3">
    93. </asp:ListItem>
    94. </asp:CheckBoxList>
    95. </div>
    96. </td>
    97. <td>
    98. <asp:CustomValidator ID="customCheckBoxListValidator" runat="server" ErrorMessage="至少选择一项"
    99. ClientValidationFunction="ValidateOptions" Display="Dynamic"  ForeColor="Red"/>
    100. </td>
    101. </tr>
    102. </table>
    103. </td>
    104. </tr>
    105. <tr>
    106. <td height="40">
    107. 了解活动:<br />
    108. </td>
    109. <td>
    110. 您从以下渠道得知本活动?
    111. <asp:DropDownList ID="txtFrom" runat="server">
    112. <asp:ListItem Text="请选择" Value="-1" Selected="True">
    113. </asp:ListItem>
    114. <asp:ListItem Text="搜索引擎" Value="1">
    115. </asp:ListItem>
    116. <asp:ListItem Text="朋友介绍" Value="2">
    117. </asp:ListItem>
    118. <asp:ListItem Text="平面媒介" Value="3">
    119. </asp:ListItem>
    120. <asp:ListItem Text="网站新闻" Value="4">
    121. </asp:ListItem>
    122. </asp:DropDownList>
    123. </td>
    124. </tr>
    125. <tr>
    126. <td height="60" colspan="2" align="center" valign="bottom">
    127. <asp:Button ID="btnInsert" Text="确认报名" runat="server" />
    128. </td>
    129. </tr>
    130. </table>