2011-11-10 19 views
0

私はこのフォーム検証ツールを使用しています(http://www.position-absolute.com/articles/jquery-form-validator-because-form -validation-is-a-mess /)、通常のフィールドとAJAX検証を使用している2つのフィールドの両方を適切に検証するのに問題が発生しています。JQuery/Ajaxフォームの検証 - フォームの検証とajaxが検証しない限りフォームを送信しない方法

2つのajaxフィールドは、データベースに重複を持つことができないため、ユーザー名とディレクトリがすでに使用されているかどうかを判断するために使用されます。

フォームを検証してから、情報をデータベースに送信するためのajaxリクエストを実行します。フォーム(AJAX検証なし)が検証される場合、$( '#myform')。validationEngine( 'validate')を使用してtrueまたはfalseを返すことができます。しかし、私は、そのメソッドが非Ajax検証のためにのみ機能するので、正規とAjaxの両方の検証でtrueまたはfalseを返す方法は不明です。

アイデア?

答えて

0

ajaxリクエストを送信する前に、フィールドが空で、正しいデータを持っているかどうかを確認できませんか?

+0

私はかなり従っていません。通常のフィールドでは、空でないことを確認します。しかし、2つのフィールド(ディレクトリとユーザー名)には情報が入力されていなければなりません。そして、ajaxを介してチェックされ、既に使用されているかどうかが確認され、有効または無効として返されます。その部分は機能します。しかし、バリデーターの 'validate'オプションを使用すると、実際にajaxフィールドが有効かどうかが検証されません。したがって、それらは有効なエントリではなく、すべての通常のフィールドが存在していても、依然として送信します。それは問題だ。 – JimmyJammed

+0

彼らは異なっています

さんのですか?彼らはそうでなければなりませんか?フォームの検証パッケージは通常1つのフォームで動作するため、これをカスタマイズする際の問題にぶつかります。この時点で、バリデータ自体のコールバック関数を掘り下げ、必要に応じてどのように変更できるかを理解し始めると思います。 – jakx

+0

別の問題は、検証の意味ですか?最初の2つのフィールドが送信され、「有効」または「無効」に戻ってきます。次に、ajaxフィールドには読み取り専用の権利があるため、「有効な」名前が設定されます。それで、あなたが再び提出するときには、あなたの値をチェックする必要があります(ページにあなたの情報が格納されています)が、その時点でユーザー名とディレクトリが満たされていれば有効です。あなたはそれがデータベース内にあればそれは無効でなければならないということなのですか?ここには不明な点がたくさんあるので、コードを投稿するべきです。 – jakx