/ / Tapisserie 5 ByPass Validation - Java, Validierung, Tapisserie

Tapestry 5 ByPass Validation - Java, Validierung, Tapisserie

Ich möchte nach der Umgehungsprüfung in Gobelin 5 fragen

In meinem Formular habe ich einige Felder, die eine Validierung habenerforderlich. und ich habe zwei Senden-Schaltfläche. eine, wenn ich klicke, um eine Bestätigung für das Objekt zu machen. und der andere darf das Formular nicht validieren oder die Validierung für das Hinzufügen zum Detailobjekt durch Ajax (mit zone) umgehen

Vielen Dank an B4

Antworten:

2 für die Antwort № 1

Ich verwende jedoch keine Client-Validierung durch das Setzen der t:clientvalidation="false" auf der t:formIch glaube, Sie können es mit einem Abbruch-Button neben Ihrem Submit-Button umgehen:

<input t:type="submit" t:mode="cancel" value="Cancel"  t:id="cancel" />
<input t:type="submit" value="Submit"  t:id="submit" />

Sieh dir die. An Komponentenreferenz zum Senden. Dort steht "SubmitMode # CANCEL"Die clientseitige Validierung sollte ausgelassen werden (obwohl die serverseitige Validierung noch immer stattfindet). "Daher müssen Sie die serverseitige Validierung weiterhin stoppen. Sie können dies mit folgendem Befehl tun:

private boolean cancelCalled;

void onSelectedFromSubmit() {
cancelCalled = false;
}

void onSelectedFromCancel() {
cancelCalled = true;
}

@OnEvent(component = "theIdOfYourForm", value = EventConstants.VALIDATE)
private void validateForm() {
if(cancelCalled) {
newContactForm.clearErrors();
}
}

0 für die Antwort № 2

Versuch, das Eingabefeld mit Javascript auf der Clientseite zu deaktivieren. Für mich geht das. Und wie joostschouten sagte, müssen Sie Ihre serverseitige Validierung noch umgehen.