Laravel vuejs组件中的用户php验证码
在Laravel 5.4.20和VueJS中。我想在我的ue模态组件中使用一个简单的代码验证码(我不想使用reCaptcha)。我该怎么做 我使用的Mewebstudio验证码如下:Laravel vuejs组件中的用户php验证码,laravel,vue.js,vuejs2,captcha,vue-component,Laravel,Vue.js,Vuejs2,Captcha,Vue Component,在Laravel 5.4.20和VueJS中。我想在我的ue模态组件中使用一个简单的代码验证码(我不想使用reCaptcha)。我该怎么做 我使用的Mewebstudio验证码如下: Route::any('captcha-test', function() { if (Request::getMethod() == 'POST') { $rules = ['captcha' => 'required|captcha']; $validato
Route::any('captcha-test', function()
{
if (Request::getMethod() == 'POST')
{
$rules = ['captcha' => 'required|captcha'];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
echo '<p style="color: #ff0000;">Incorrect!</p>';
}
else
{
echo '<p style="color: #00ff30;">Matched :)</p>';
}
}
$form = '<form method="post" action="captcha-test">';
$form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
$form .= '<p>' . captcha_img() . '</p>';
$form .= '<p><input type="text" name="captcha"></p>';
$form .= '<p><button type="submit" name="check">Check</button></p>';
$form .= '</form>';
return $form;
});
Route::post('captcha-test', function() {
$validator = Validator::make(Input::all(), [
'captcha' => 'required|captcha'
])->validate();
return response(['status' => 'ok'], 200);
});
Route::any('captcha-test',function())
{
如果(请求::getMethod()=='POST')
{
$rules=['captcha'=>'必需| captcha'];
$validator=validator::make(输入::all(),$rules);
如果($validator->fails())
{
echo不正确;
}
其他的
{
回声匹配:);
}
}
$form='';
$form.='';
$form.=''.captcha_img()。';
$form.='';
$form.='检查';
$form.='';
返回$表格;
});
但它只在PHP文档中工作(我需要在Vue组件中工作)。要实现这一点,您的
路线将如下所示:
Route::any('captcha-test', function()
{
if (Request::getMethod() == 'POST')
{
$rules = ['captcha' => 'required|captcha'];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
echo '<p style="color: #ff0000;">Incorrect!</p>';
}
else
{
echo '<p style="color: #00ff30;">Matched :)</p>';
}
}
$form = '<form method="post" action="captcha-test">';
$form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
$form .= '<p>' . captcha_img() . '</p>';
$form .= '<p><input type="text" name="captcha"></p>';
$form .= '<p><button type="submit" name="check">Check</button></p>';
$form .= '</form>';
return $form;
});
Route::post('captcha-test', function() {
$validator = Validator::make(Input::all(), [
'captcha' => 'required|captcha'
])->validate();
return response(['status' => 'ok'], 200);
});
以及您的Vue组件,如下所示:
Route::any('captcha-test', function()
{
if (Request::getMethod() == 'POST')
{
$rules = ['captcha' => 'required|captcha'];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
echo '<p style="color: #ff0000;">Incorrect!</p>';
}
else
{
echo '<p style="color: #00ff30;">Matched :)</p>';
}
}
$form = '<form method="post" action="captcha-test">';
$form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
$form .= '<p>' . captcha_img() . '</p>';
$form .= '<p><input type="text" name="captcha"></p>';
$form .= '<p><button type="submit" name="check">Check</button></p>';
$form .= '</form>';
return $form;
});
Route::post('captcha-test', function() {
$validator = Validator::make(Input::all(), [
'captcha' => 'required|captcha'
])->validate();
return response(['status' => 'ok'], 200);
});
Vue.component('captcha'{
道具:['image'],
数据:函数(){
返回{
表格:{
验证码:空
},
我在工作:错
}
},
方法:{
检查:函数(){
var self=这个
self.isWorking=true
axios.post(“/captcha test”{
验证码:self.form.captcha
})
.然后(功能(响应){
//有效验证码。。。
控制台日志(响应);
//重新设置表单
self.form.captcha=null
//现在,它不起作用了
self.isWorking=false
})
.catch(函数(err){
//无效的captch。。
控制台日志(err);
//重新设置表单
self.form.captcha=null
//现在,它不起作用了
self.isWorking=false
});
}
}
});
新Vue({
el:“#应用程序”
});代码>
检查