2012-03-17 24 views
1

jqueryがjqtransformで動作するように検証しようとしています。私は問題を見る 隠しセレクトボックスのようです。この要素にはエラークラスが追加されません したがって、エラーメッセージを追加し続けることはありません! jqTransformHiddenクラスを作成すると、 が表示されます。それは動作しますが、すべての入力と選択が表示されますが、これは私が当然望むものではありません。選択ボックスが検証されない、jqtransform jquery validate

ご覧のとおり、エラークラスは追加されていません。

<select class="required jqTransformHidden" name="currency"> 
       <option value="">Choose Currency</option> 
       <option value="29">ANG - Netherlands Antilles, Guilders</option> 
      </select> 

答えて

2

私はまったく同じ問題を抱えていました。
私はjquery validateを使用して、選択ボックス以外のすべてを強制終了します。 jquery validateがフォームが有効であると判断したら、選択ボックスに対して別のカスタム検証を設定します。 これはselectHandler内で確認できます。

submitHandler: function(form){ 
    if(validateSelect()){ 
     form.submit(); 
    } 
}, 

次に、選択ボックスを確認するvalidateSelect関数を作成できます。そのためにjquery .val()を使用することができます。

validateSelect = function(){ 
    if($('#my-select').val()==""){ 
     return false; 
    }else{ 
     return true; 
    } 
} 

UPDATE:私ははるかに簡単な解決策を見つけました!行218の検証スクリプトでignore: ":hidden",ingnore: "",に変更することで、jQuery Validateに非表示フィールドを強制的にチェックさせることができます。そのようにして、変換されたフィールドはすべて検証されます。この変更は、プラグインスクリプトではなくカスタムスクリプトで設定することもできますが、その方法はわかりません。

0

は、私は、これは古い質問ですけど、これで苦労しているすべての人々のために、ここに私のソリューションです:

私の場合はそれが入力を選択するためのトリックを行いませんignore: ""を使用してのように思えます。

.jqTransformHidden { 
    //display: none; 
    position: absolute; 
    top: -9999px; 
    left: -9999px; 
} 
:代わりにCSS display: noneで隠しフィールドを隠す私はこのようなjqTransform.cssファイルを編集する position: absolute; top: -9999px; left: -9999px;

を最も簡単な方法がされて使用しました

関連する問題