2013-04-24 273 views
6

私はカスタム検証を追加しようとしている入力フィールドを持っています(別のフィールドに応じて必要です)。必要なAND funcCall()を置くと、2つのエラーが返されることがわかります。私がfuncCallだけを置くと何も返されません。私はconsole.log()を実行したので関数と状態になっていることを知っていますが、何らかの理由でエラーを表示できない初期ルールが必要なようです。jquery検証エンジンfuncCallがルールのみが動作しない場合

コール:

<input type="text" class="validate[funcCall[validatePassportRequired]]" id="form_register_passport_number" value="" name="passport_number" size="50"> 

機能:私はへの呼び出し変更した場合はそう

function validatePassportRequired(field, rules, i, options) { 
    if ($('#register_for').val()!='Local') { 
    return options.allrules.required.alertText; 
    } 
} 

:私は2つ取得

class="validate[required, funcCall[validatePassportRequired]]" 

を*このフィールドは必須です

ドゥもう一つのバリデーションが必要ですfuncCallと一緒にnのルール?

答えて

12

エラーメッセージを返す前に次の行を追加するだけで、メッセージを返すのに必要ではなく、.alertTextの前に関数名を入れてください。あなたの関数は次のように見るでしょうあなたのケースで

rules.push('required'); 

@sunzyflower ..

function validatePassportRequired(field, rules, i, options) { 
    if ($('#register_for').val()!='Local') { 
    rules.push('required'); 
    return options.allrules.validatePassportRequired.alertText; 
    } 
} 
+0

をありがとうございました!それは実際に私にこれを二重のメッセージを与え始めたので、私はリターンを取り出し、ちょうどルールを残しました。プッシュ(「必須」)そしてそれは完全に機能しました! – sunzyflower

+0

life savior :) – Andrej

関連する問題