jsonを使用して作成された独自の検証を作成しました-ユーザーの電子メールが一意でない場合、アクションは応答を送信します。アクションは次のとおりです。
def checkemail
respond_to do |format|
format.jsonr do
if User.where(email: params[:email]).exists?
render :json => {
:status => :false,
}.to_json
else
render :json => {
:status => :true,
}.to_json
end
end
end
end
2 番目のバリアント (使用方法がわからない)
def checkemail
render :nothing
if User.where(email: params[:email]).exists?
return false
else
true
end
end
カスタム jQuery 検証メソッドを作成したいのですが、コードは次のとおりです。
$.validator.addMethod("uniqueness", function(value) {
$.getJSON('http://127.0.0.1:3000/checkemail.jsonr', { email: $('#email').val() }, function(data) {
return data.status
});
}, 'Your email is not unique');
.....
"user[email]":{ //here is no error in name
uniqueness: true
},
また試した
そして、電子メールは一意ではないことを常に教えてくれます。
私は、カスタム検証メソッドで常に true を送信していると思います。
私のエラーはどこですか?