2012-03-26 10 views
0

Ich habe ein Formular mit einem Datum und ich möchte den Benutzer fragen, wenn sie das Formular außerhalb eines Bereichs senden, aber immer noch die Möglichkeit, außerhalb des Bereichs zu senden.rails validation Bestätigung nach Formular einreichen

Zum Beispiel (Pseudo-Code)

if date < start_date and current_user.admin? 
    answer = ask 'are you sure you want to submit below the date range?' 
elsif date > end_date 
    answer = ask 'are you sure you want to submit over the date range?' 
else 
    answer = 'yes' 
end 

if answer == 'yes' 
    submit 
else 
    return to original form 
end 

Ich war eine Lösung zu denken wäre eine Art der Implementierung Assistenten Multi-Form aber ist es ein einfacher Weg?

Zum Beispiel würde ich zuerst das Originalformular mit dem Datumsfeld anzeigen. Wenn der Benutzer dann den "Senden" -Knopf drückt, erkundigen Sie sich beim Server, ob wir den Benutzer bitten müssen, sein außerhalb der Reichweite liegendes Datum zu bestätigen, wenn ja, zeigen Sie einen Teil an und warten Sie, bis er auf "Bestätigen" oder "Ja" klickt.

Antwort

0

Für mich hört es sich so an, als müssten Sie eine Zwischenaktion in Ihrem Controller haben, an die Sie das Formular senden. Diese intermediäre Aktion validiert die Formularparameter und stellt das partielle oder nur das Formular entsprechend bereit. Der Submit-Button des Partials würde einen Link zu der letzten Aktion enthalten, die sich mit der Einreichung beschäftigt.

+0

Wäre es besser, dies mit jQuery zu tun und ein jQuery-UI-Dialogfeld anzuzeigen? – map7

+0

Hängt davon ab, was Sie wollen oder was Sie bequem programmieren möchten. Ich mag Teiltöne, weil sie für mich leichter zu stylen sind. Wenn Sie jQuery Erfahrung haben, auf alle Fälle – varatis