2016-04-26 8 views
0

Ich möchte eine Funktion, die meine AntwortText überprüft. Ich bin mir nicht sicher, was in diesem Code platziert werden sollte. Kann jemand bitte helfen? `Jquery-Funktion zum Validieren von responseText

function doThis() { 
$ajax(href,{ 
complete : function(data) 
{ 
var msgElement = document.getElementById("message"); 
var res= validate(data.responseText); 
messageElement.innerHTML = message; 
} })} 

`

Der Antworttext ist eine Zeichenfolge "erfolgreich abgeschlossen". Kann mir bitte jemand helfen, was ich in die validate() Funktion einbauen soll?

+0

var res = data.responseText === "Erfolgreich abgeschlossen"; – joyBlanks

+0

Wo stellen Sie "Nachricht" ein? – Barmar

+0

Die Nachricht wird tatsächlich von der Funktion im Controller zurückgegeben. – Sunaina

Antwort

0
function validate(message) { 
    if (message == "Successfully Completed") { 
     return true; 
    } else { 
     return false; 
    } 
} 

, die vereinfacht werden kann:

function validate(message) { 
    return message == "Successfully Completed"; 
} 

Wenn Sie eine regexp möchten, die nur überprüft, ob die Antwort nur Buchstaben und Leerzeichen enthält, können Sie verwenden:

return message.match(/^[a-z\s]+$/i); 
+0

Ya, das funktioniert gut.Aber wie funktioniert es mit Ajax und JavaScript, schützt diese Funktion vor Sicherheitsrisiken? Ich versuchte Regex-Übereinstimmung – Sunaina

+0

Die Nachricht vom Controller ändert sich bei verschiedenen ausgewählten Optionen. In allen Fällen besteht sie jedoch nur aus Buchstaben. Aus diesem Grund habe ich überlegt, Regex zu verwenden. – Sunaina

+1

Für welche Sicherheitsrisiken müssen Sie sich bei Ihrem Controller sorgen? Die Validierung wird im Allgemeinen nur für vom Benutzer bereitgestellte Eingaben verwendet, nicht für die Ausgabe eines eigenen Controllers. – Barmar

Verwandte Themen