私はエラーを表示するために上記のフォームを1つ使用しています。この場合、各エラーメッセージの前にいくつかのプレフィックスが必要です。通常、対応するラベルタグのテキストです。parsley.jsエラーメッセージのテキストを拡張する
私はこの機能を拡張機能として実装しましたが、これは手動で実行する新しい機能と同じですが、この場合はデフォルトのUI動作を失ってしまいました。
したがって、パースリーの一部として(パーズリーを拡張することによって)そのような振る舞いを実装することは可能でしょうか?
私はエラーを表示するために上記のフォームを1つ使用しています。この場合、各エラーメッセージの前にいくつかのプレフィックスが必要です。通常、対応するラベルタグのテキストです。parsley.jsエラーメッセージのテキストを拡張する
私はこの機能を拡張機能として実装しましたが、これは手動で実行する新しい機能と同じですが、この場合はデフォルトのUI動作を失ってしまいました。
したがって、パースリーの一部として(パーズリーを拡張することによって)そのような振る舞いを実装することは可能でしょうか?
私は2つの内部機能を拡張することで、望ましい動作を実装しました。それは良いアイデアだったが、それは、私はいくつかの特定の場合に必要な正確に何を行いわからない:
(function ($) {
function getFieldLabel(parsleyField, suffix) {
var result = '',
labels = $('label[for=' + parsleyField.$element.prop('id') + ']');
suffix = suffix || '';
if (labels.length) {
result = labels[0].innerText + suffix;
}
return result;
}
window.ParsleyExtend = window.ParsleyExtend || {};
window.ParsleyExtend = $.extend(window.ParsleyExtend, {
// NB! this method replaces parsley's default `_addError`
_addError: function _addError(name, _ref5) {
var message = _ref5.message;
var assert = _ref5.assert;
this._insertErrorWrapper();
this._ui.$errorsWrapper.addClass('filled').append($(this.options.errorTemplate).addClass('parsley-' + name).html(
getFieldLabel(this, ' - ') + (message || this._getErrorMessage(assert))
));
},
// NB! this method replaces parsley's default `_updateError`
_updateError: function _updateError(name, _ref6) {
var message = _ref6.message;
var assert = _ref6.assert;
this._ui.$errorsWrapper.addClass('filled').find('.parsley-' + name).html(
getFieldLabel(this, ' - ') + (message || this._getErrorMessage(assert))
);
}
});
})(jQuery);
parsleyがエラーをどこに置くかは、errorsContainer
でカスタマイズできます。サマリーエリア内にコンテナを作成する関数である可能性があります。
このエラーコンテナには、ユーザーが入力するその他の情報も含まれている可能性があります。
より良いエラーメッセージシステムが必要です。特に、this issueを参照してください。
私はプラグインをハッキングではなく、追加の機能を追加することによって、これを達成することはできますか? – SLY
あなたは何を意味するかわかりませんが、必要に応じてオプションをグローバルに設定できます。 –
ああ、私たちはさまざまなことを話します...どのように各エラーテキストの前にラベルを表示するためにパセリを拡張できますか?このように 'label1 - フィールドが必要ですlabel2 - 値が%未満です... '私は各要素ごとに個別にエラーメッセージを設定できますが、ラベル+エラーメッセージをデフォルトのプラグインの動作にしたいと思っています – SLY