2010-12-16 3 views
1

Ist es möglich, das Validierungs-Plugin in einer dialog wie folgt zu verwenden? Ich habe eine Seite mit 2 Teilen, Master und Detail, in der ersten verwende ich bereits Validierung und ist in der zweiten, der Detail Teil, der dem oben erwähnten Beispiel sehr ähnlich ist, wo ich möchte Um das Validierungs-Plugin zu verwenden, aber wenn es nicht möglich ist, würden Sie mir bitte sagen, wie ich nur positive Zahlen (ganze Zahlen und Dezimalzahlen) zulassen kann?Verwendung von jquery Dialog mit dem Validierungs-Plugin

*** EDITED

Ich habe gerade diesen regulären Ausdruck:/^ -? (?:? \ D + | \ d {1,3} (:, \ d {3}) +) (?:. \ d +)? $/ , aber es erlaubt positiv und negativ.Was muss ich tun, um nur positive Zahlen zuzulassen ??

+0

Sie tun ** nicht ** eine Regex benötigen Zahlen zu bestätigen. –

+0

@Matt. Ich weiß das, aber ich versuche die Funktion checkRegexp zu benutzen, deshalb brauche ich den regulären Ausdruck. – eddy

+0

@eddy: Ich habe meine Antwort mit dem Regex bearbeitet. Ich bin mir immer noch nicht sicher, warum Sie 'checkRegexp()' verwenden, um eine Zahl zu validieren. Sie können einfach ['number()'] (http://docs.jquery.com/Plugins/Validation/Methods/number) und ['min()'] (http://docs.jquery.com/Plugins) kombinieren/Validierung/Methoden/min # Wert). –

Antwort

2

Natürlich ist es möglich. Sie müssen nur programmatisch Formularvalidierung auszulösen, wenn der Dialog geschlossen wird, und verhindern, dass es geschlossen wird, wenn die Validierung fehlschlägt:

var valid = $("#myform").validate().form(); 
if (valid) 
{ 
    // allow the dialog to be closed 
} 
else 
{ 
    // keep the dialog open 
} 

http://docs.jquery.com/Plugins/Validation/Validator/form

In der Tat, die Demo Sie verknüpften Anwendungen (custom) Validierung. Werfen Sie einen Blick auf die JS-Quelle - neben der eigentlichen Validierungslogik unterscheidet sie sich nicht wesentlich von dem, was Ihr Code tut.


Sie sollten brauchen nur die erste -? zu entfernen, um diese regex machen lassen nur positive Zahlen:

/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:.\d+)?$/ 
+0

Ok, aber ist es möglich: $ ("# MaterForm"). Validate(); $ ("# DialogForm"). Validate(); ?? Ich bin mir nicht sicher :( – eddy

+0

@eddy: was meinst du, _ "ist es möglich" _? Sicher, Sie können mehrere Formulare programmgesteuert validieren - aber das ist nicht, was dieser Code tut. Was genau versuchen Sie zu tun? Was? hat nicht funktioniert, und auf welche Weise? –