你可以每次標籤或值的變化破壞香菜和重新初始化新的錯誤消息。
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>
有趣的方法引用,但是我試圖讓這種自動的。您的解決方案適用於一個輸入,但是在這個分支中http://jsfiddle.net/X8Nj3/將不起作用。 –
我試圖在銷燬歐芹之前嘗試在輸入內使用歐芹錯誤消息。也許你可以更新每個輸入的parsley-error-message並銷燬parsley來更新錯誤信息。如果您只需要標籤而不是值,則可以爲每個輸入字段提供香芹錯誤消息。 – Doodlebot