Frage

Ich habe eine AH -HTML5 -Form mit einer wie folgt definierten Aktion:

@using (Html.BeginForm("SearchAction", "ResultsController"))

Das Formular nimmt zwei Textfelder an:

<input type="text" name="txtSearchTerm" id="txtSearchTerm" class="frontPageInput" placeholder="Begin your search..." required />          
<input type="text" name="txtGeoLocation" id="txtGeoLocation"  class="frontPageInput" required />          

Das Feld TxtGeOlocation ist ein automatisches Feld, das von einem zwischengespeicherten Objekt, über den Controller und durch eine Modell -Repository -Klasse über den folgenden JQuery -Code gespeist wird:

<script type="text/javascript" language="javascript">
    $(function () {
        $("#txtGeoLocation").autocomplete(txtGeoLocation, {
            source: function (request, response) {
                $.ajax({
                    url: "/home/FindLocations", type: "POST",
                    dataType: "json",
                    selectFirst: true,
                    autoFill: true,
                    mustMatch: true,
                    data: { searchText: request.term, maxResults: 10 },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.GeoDisplay, value: item.GeoDisplay, id: item.GeoID }
                        }))
                    }
                })
            },
            select: function (event, ui) {
                alert(ui.item ? ("You picked '" + ui.item.label + "' with an ID of " + ui.item.id)
                    : "Nothing selected, input was " + this.value);
                document.getElementById("hidLocation").value = ui.item.id;
            }
        });

    });

Es gibt dort eine Warnung zum Debuggen. Wenn Sie auf den Text klicken, der abfällt, feuert diese Warnung, aber es wird jedoch nicht ausgelöst, wenn Sie das gesamte Wort eingeben und Senden treffen.

Ich möchte zunächst den Text im GEO -Textfeld auf der Client -Seite validieren, um sicherzustellen, dass er ein Wert ist, der in der Sammlung nicht enthalten ist, von dem Textfeld in rot zu haben und dies zu kommunizieren.

Vielen Dank.

War es hilfreich?

Lösung

Sie können JQuery Remote -Validierung mit dem Attribut [remote ()] verwenden, um den Wert in der Liste zu validieren. Sie müssen die gleiche Überprüfung der Serverseite durchführen, wenn Sie auch zurückposten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top