2010-12-16 362 views
1

Est-il possible d'utiliser le plugin de validation dans un dialog comme ceci? J'ai une page avec 2 parties, Maître et détail, dans le premier je suis déjà en train de valider et dans le second, la partie détail, qui est très similaire à l'exemple que j'ai mentionné ci-dessus, où je voudrais pour utiliser le plugin de validation, mais si ce n'est pas possible, cela vous dérangerait-il de me dire comment je ne peux autoriser que des nombres positifs (entiers et décimaux)?Utilisation de jquery Dialog avec le plugin Validation

*** ÉDITÉ

Je viens de trouver cette expression régulière:/^ - (:? \ D + | \ d {1,3} (:, \ d {3}) +) (?:. \ d +)? $/ , mais il permet positifs et négatifs.Quels changements dois-je faire pour permettre seulement les nombres positifs ??

+0

Vous ne ** pas ** besoin d'une expression régulière pour valider les numéros. –

+0

@Matt. Je le sais, mais j'essaie d'utiliser la fonction checkRegexp, c'est pourquoi j'ai besoin de l'expression régulière. – eddy

+0

@eddy: J'ai édité ma réponse w/r/t la regex. Je ne sais toujours pas pourquoi vous utilisez 'checkRegexp()' pour valider un nombre cependant. Vous pouvez simplement combiner ['number()'] (http://docs.jquery.com/Plugins/Validation/Methods/number) et ['min()'] (http://docs.jquery.com/Plugins/Validation/Methods/min # valeur). –

Répondre

2

Bien sûr, c'est possible. Vous avez juste besoin de déclencher la validation du formulaire par programme lorsque le dialogue est fermé, et l'empêcher d'être fermé si la validation échoue:

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

En fait, la validation démo usages liés (personnalisé). Jetez un oeil à la source JS - la véritable logique de validation mise à part, elle n'est pas très différente de ce que fera votre code.


Vous devriez juste besoin de supprimer la première -? de faire ce regex permettre que des valeurs positives:

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

Ok, mais est-ce possible: $ ("# MaterForm"). Validate(); $ ("# DialogForm"). Validate(); ?? Je ne suis pas sûr :( – eddy

+0

@eddy: que voulez-vous dire, _ "est-ce possible" _? Bien sûr, vous pouvez valider plusieurs formulaires par programmation - mais ce n'est pas ce que fait ce code. n'a pas fonctionné, et de quelle manière? –