2012-01-21 4 views
3

jqueryの検証プラグインでコールバック関数を実行して、別のコントローラでその関数を探す方法はありますか?jqueryコールバックの検証

意味私は自分のレジスタコントローラを持っていますが、すべてのユーザーが関連するユーザーモデルを見て、is_username_available関数を実行したいと思います。

答えて

3

あなたの検証機能がちょうどis_username_availableと呼ばれている場合は、このメソッドのデコレータを作成し、それをコントローラから公開する必要があります。

function validation_username_available($username) 
{ 
    if ($this->is_username_available($username)) 
     die("true"); 
    die("false"); 
} 

は、その後、あなたは、 trueまたは falseのいずれかを /register/validation_username_available/BobへのAJAX呼び出しを行い、出力をお読みください。

また、検証機能is_username_availableには、実際には_is_username_availableのようにアンダースコアが付加されています。それ以外の場合は、/register/is_username_available/Bobから一般にアクセスできます。それはおそらくあなたが望まないものです。

+0

ありがとうございます。 –

+0

さて、ここに別の質問があります。 jqueryドキュメントの検証プラグインでは見つかりませんが、ルール内でこの関数のコールバックを行うにはどうすればいいですか?私はそのようなcallback_somethingを覚えていますが、何をどのように行うのかはわかりません。 –

+0

'callback_is_username_available'。あなたが 'is_username_available'を' _is_username_available'に名前を変更して改名したのであれば、2つのアンダースコアを含める必要があります。 'callback__is_username_available'です。 – kba