Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • Jquery vallidator rule for filling at least one field between a group

    • 0
    • 1
    • 1
    • 2
    • 0
    • 0
    • 0
    • 0
    • 1.37k
    Comment on it
    1. <script type="text/javascript">
    2.  
    3. $(document).ready(function()
    4. {
    5. jQuery.validator.addMethod("require_from_group", function (value, element, options) {
    6. var numberRequired = options[0];
    7. var selector = options[1];
    8. var fields = $(selector, element.form);
    9. var filled_fields = fields.filter(function () {
    10. // it's more clear to compare with empty string
    11. return $(this).val() != "";
    12. });
    13. var empty_fields = fields.not(filled_fields);
    14. // we will mark only first empty field as invalid
    15. if (filled_fields.length < numberRequired && empty_fields[0] == element) {
    16. return false;
    17. }
    18. return true;
    19. // {0} below is the 0th item in the options field
    20. }, jQuery.format("'Please enter either username/ email address to recover password'/Please fill out at least {0} of these fields."));
    21.  
    22. var validator = $("#myForm").validate({
    23.  
    24. groups: {
    25. names: "num1 num2"
    26. },
    27. rules: {
    28. num1: {
    29. require_from_group: [1, ".send"]
    30. },
    31. num2: {
    32. require_from_group: [1, ".send"]
    33. },
    34. },
    35. errorElement: "span" ,
    36. messages: {
    37. name: " Enter Name",
    38. email: {required: "EmailId is required.",email: "Please enter the valid email address"},
    39. }
    40. });
    41. if(validator.form()){ // validation perform
    42. $('form#myForm').attr({action: 'mycontroller'});
    43. $('form#myForm').submit();
    44. }
    45. });
    46. </script>
    47.  
    48. <form method="post" id="myForm" name="myForm">
    49. <h2 class="widgettitle2" style="margin: 13px 0px 2px 0px">Contact Us</h2>
    50. <p class="legend"><strong>Note:</strong> Required fields are marked with an asterisk (<em>*</em>)</p>
    51. <fieldset>
    52. <div><label for="name">Email<em>*</em></label> <input tabindex="1" size="40" type="text" name="num2" id="num2" class="send_email send"/></div>
    53. <div><label for="Username">Username<em>*</em></label> <input tabindex="1" size="40" type="text" name="num1" id="num1" class="send_username send"/></div>
    54. </fieldset>
    55. <div class="buttonrow"><input tabindex="6" type="submit" class="btn" value="Submit" /> <input tabindex="7" type="button" class="btn" value="Cancel" /></div>
    56. </form>

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Reset Password
Fill out the form below and reset your password: