2013-12-16 60 views
2

有什麼方法可以獲取輸入字段的引用並將其值添加到錯誤消息中?Parsley.js - 將標籤值附加到錯誤消息

默認情況下,錯誤消息類似於「此值是必需的」。

我想用輸入標籤更改「此值」,以便獲得更好的錯誤消息。

$('#form').parsley({ 
    messages: { 
     required: 'LABEL VALUE HERE + Error message' 
    } 
}); 

這裏是一個樣板,讓你開始: http://jsfiddle.net/82utb/

回答

1

你可以每次標籤或值的變化破壞香菜和重新初始化新的錯誤消息。

http://jsfiddle.net/doodlebot/yhcY6/

這裏的JS:

function updateMessage($target) { 
    var inputValue = $target.val(); 
    var id = $target.attr('id'); 
    var valueOrLabel = inputValue ? inputValue : id; 

    $('#form').parsley('destroy'); 
    $('#form').parsley({ 
     messages: { 
      required: valueOrLabel + ' Error message', 
      minlength: valueOrLabel + ' is too short' 
     } 
    }); 
    $('#form').parsley('isValid'); 
} 

updateMessage($('#name')); 

$('input[type="text"]').on('keyup', function() { 
    updateMessage($(this)); 
}); 

和HTML:

<form id="form" action="#"> 
    <div class="row"> 
     <label for="name">Name:</label> 
     <input id="name" type="text" placeholder="Your name" parsley-minlength="6" parsley-required="true" /> 
    </div> 
    <div class="row"> 
     <input type="submit" value="Validate" /> 
    </div> 
</form> 
+0

有趣的方法引用,但是我試圖讓這種自動的。您的解決方案適用於一個輸入,但是在這個分支中http://jsfiddle.net/X8Nj3/將不起作用。 –

+0

我試圖在銷燬歐芹之前嘗試在輸入內使用歐芹錯誤消息。也許你可以更新每個輸入的parsley-error-message並銷燬parsley來更新錯誤信息。如果您只需要標籤而不是值,則可以爲每個輸入字段提供香芹錯誤消息。 – Doodlebot