Как переписать сообщение по умолчанию для валидатора по умолчанию? - PullRequest
0 голосов
/ 22 февраля 2019

Одно из старых приложений, в котором я работаю, использует Inline Form Validation Engine 2.6.2, также известный как jQuery Validation Engine .Мне нужно установить пользовательское сообщение для валидатора по умолчанию.Вот все, что я пытался безуспешно, но оно просто не работает, так как сообщение по умолчанию все еще отображается.

Вот 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]]">

И 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">

Ни один из них не работал для меня, вместо того, чтобы показывать пользовательское сообщение, показываются сообщения по умолчанию:

enter image description here

Кто-нибудь знает, какдля достижения этой цели?Это сводит меня с ума!

1 Ответ

0 голосов
/ 22 февраля 2019

Новый тип конфигурации, основанный на атрибутах данных, заменяет тот, который основан на атрибуте class, поэтому вы должны пройти весь путь и использовать для этой цели атрибут data-validation-engine:

$("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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...