使用 Laravel 和 Parsley.js 的电子邮件可用性

问题描述

我正在使用 Laravel 7.2 和 Parsley 2.9.2,我正在尝试检查电子邮件是否已被使用。 如何链接数据库查询和 Parsley 验证?

控制器:


class usersController extends Controller
{
  function checkemail(Request $request)
    {
     if($request->get('email'))
     {
       $useremail = \DB::table('users')->select('users.*')->where('email','=','email')->get();

         if (count($useremail)>0)
      {
       echo 'not_unique';
      }
      else
      {
       echo 'unique';
      }
     }
    }

public function create(Request $request)
 {
$users = new users();
$users -> email= $request -> email;
$users -> save();

return redirect('/create');

 }
}

路线:

Route::get('/create','usersController@view');
Route::post('/create','usersController@create');

Route::post('/register/checkemail','usersController@checkemail')->name('users.email');

HTML:

<input type="email id="email" placeholder="Email" name = "email" class="form-control"
                             required data-parsley-required-message= "Please enter your email."
                             data-parsley-error-message= "You must enter a valid email."
                             data-parsley-type="email"
                             data-parsley-trigger="focusout"
                             data-parlsley-checkemail
                             data-parlsley-checkemail-message="This email is already in use.">

我被卡在这里,我不知道如何指向我在控制器中所做的查询

$(document).ready(function(){

    $('#email').parsley();

    window.ParsleyValidator.addValidator('checkemail',{
      validateString: function(value)
      {
          $.ajax({
          url:'users.email',method:"POST",data:{email:value},dataType:"json",success:function(data)
          {
            return true;
          }
        });
      }
    });

  });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)