は、次のようにします。
をhttps://github.com/posabsolute/jQuery-Validation-Engine
編集を使用してAJAX用validationsEngines-en.jsファイルは、電子メールのいずれかが、次のようになります、呼び出します。
"ajaxEmailAvailable": {
"url": "/route_to_send_the_parameters",
// you may want to pass extra data on the ajax call
"alertTextOk": "* This email is available",
"alertText": "* This email is already taken",
"alertTextLoad": "* Validating, please wait"
},
route.rbファイルを使用するルートと一致するように設定していることを確認してください。コールのデフォルトのアクションは、GET HTTPリクエストです。
次は、入力値が前のデータベースに照会消毒することができるように(私はアプリケーションコントローラでヘルパーを含め、要求を処理するために、あなたのコントローラーで適切なアクションを設定:REQUEST
取り扱い
CONTROLLERを
def username_availability
scrubb = help.sanitize(params[:fieldValue], :tags => '')
user = User.find_by_email(scrubb)
if user.blank?
render :json => ["INPUT_ID", true , ""]
else
render :json => ["INPUT_ID", false , "This email is already taken"]
end
end
あなたが適切な入力IDが不明な場合は、通話中に渡されたパラメータのために、サーバのログを見て、単純なコピー&ペーストを行う。デフォルトでは、要求が入力されたIDと入力値を渡します。
以下を追加し、このヘルパーにアクセスするには:
アプリケーションCONTROLLERフォーム自体に今
def help
Helper.instance
end
class Helper
include Singleton
include ActionView::Helpers::TextHelper
end
、あなたの入力は、次のように読んでください:適切な機能を1として
<%= c.text_field :email, "data-validation-engine"=>"validate[required, custom[email], ajax[ajaxEmailAvailable]]" %>
を最後の検証として常にAJAX呼び出しを配置します。
ドキュメントの先頭にjquery.js、jquery.validationEngine.js、jquery.validationEngine.js、validationEngine.jquery.cssを[jsの順番で含める]ことを忘れないでください。
<script type="text/javascript">$(function() {$("#FORM_ID").validationEngine();});</script>
これをユーザー名に使用する場合は、上記を適切に編集してください。
を持っている私は私の質問に答え..私が得ましたそれは働いています。 – Kumar
あなたは同様の問題を持つ誰かが参照できるように、答えを追加して後でそれを受け入れるべきです。 –
これは 'rails check username ajax'のGoogle検索結果のトップです。あなたは答えを加えるべきです。 –