0

私は自分のプロジェクトに検証ノックアウトを使用しており、すべてのエラーメッセージにテンプレートを使用しています:

    <script type="text/html" id="errorTemplate">
        <div class="errorContainer error_bottom" data-bind="visible: field.isModified() && !field.isValid()">
        <div class="error_arrow">
        <div class="error_arrow_inner"></div>            
        </div>
        <span class="error" data-bind="text: field.error"></span>
        </div>
    </script>

<script>
    // KO validastor setup:
    ko.validation.configure({
        decorateElement: true,
        errorElementClass: 'error', // Add class to input
        registerExtenders: true,
        messagesOnModified: true,
        insertMessages: true,
        parseInputAttributes: true,
        messageTemplate: 'errorTemplate' // Use template 
    });

    function ReservationViewModel() {
            var self = this;
            self.email = ko.observable("");
            self.name = ko.observable("");
            self.phone = ko.observable("");

            var validator = ko.validatedObservable({
                email: self.email.extend({required: true, email: true}),
                name: self.name.extend({required: true}),
                phone: self.phone.extend({required: true}),
            });
    // continues ...
    }

    ko.applyBindings(new ReservationViewModel());
</script>

ただし、常にデフォルトのメッセージ「このフィールドは必須です」が表示されます。カスタム エラーまたは電子メールの場合は無効です。それを修正するのを手伝ってもらえますか? 皆さんありがとう。

4

0 に答える 0