简体   繁体   中英

How to overwrite a default message for a default validator?

One of the legacy applications where I work is using Inline Form Validation Engine 2.6.2 aka jQuery Validation Engine . I need to set a custom message for a default validator. Here is all I have tried without success it just does not work since the default message still showing up.

Here is the HTML:

<input type="checkbox" name="agreement" value="1" id="agreement_0" class="validate[minCheckbox[1]]">
<input type="checkbox" name="agreement" value="1" id="agreement_1" class="validate[minCheckbox[1]]">

And the Javascript/jQuery:

// Use the data-errormessage-range-underflow attribute on the inputs
// Ex:
<input type="checkbox" name="agreement" value="1" id="agreement_0" class="validate[minCheckbox[1]]" data-errormessage-range-underflow="custom error msg">

// Use the default data-* attributes and the -range-underflow
// Ex:
<input  type="checkbox" 
        name="agreement" 
        value="1" 
        id="agreement_0" 
        class="validate[minCheckbox[1]]" 
        data-errormessage-range-underflow="custom error msg"
        data-errormessage-custom-error="custom error msg"
        data-errormessage="custom error msg"
>

// Initialize the object with a custom message
// Ex:
<input  type="checkbox" 
        name="agreement" 
        value="1" 
        id="agreement_0" 
        class="validate[minCheckbox[1]] someclass" 
        data-errormessage-range-underflow="custom error msg"
        data-errormessage-custom-error="custom error msg"
        data-errormessage="custom error msg"
>

$("#theform").validationEngine({'custom_error_messages' : {
        '.someclass': {
            'range-underflow': {
                'message': "custom error message"
            }
        }
    }
});

// Use the title attribute and add the custom message there
<input type="checkbox" 
       name="agreement" 
       value="1" 
       id="agreement_1" 
       class="validate[minCheckbox[1]]" 
       title="custom msg">

None of them worked for me, instead of shown the custom message the default ones is shown:

在此处输入图片说明

Does any knows how to achieve this? It's driving me crazy!

The newer kind of configuration, based on data attributes, replaces the one that is based on the class attribute, so you must go all the way, and use the data-validation-engine attribute for that purpose:

 $("form").validationEngine();
 body { margin: 20px }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.2/languages/jquery.validationEngine-en.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.2/jquery.validationEngine.js"></script> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.2/validationEngine.jquery.min.css"> <form> Confirm you have read and agree:<br> <input type="checkbox" name="agreement" value="1" data-validation-engine="validate[minCheckbox[1]]" data-errormessage-range-underflow="Custom error msg"> I have read and agree<br> <button>Submit</button> </form>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM