如何覆盖默认验证器的默认消息?

问题描述 投票:1回答:1

我工作的遗留应用程序之一是使用内联表单验证引擎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

有谁知道如何实现这一目标?这让我疯狂!

javascript jquery jquery-validation-engine
1个回答
1
投票

基于数据属性的新配置替换了基于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>
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.