问题描述
我正在使用 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 (将#修改为@)