Laravel vuejs组件中的用户php验证码

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

在Laravel 5.4.20和VueJS中。我想在我的ue模态组件中使用一个简单的代码验证码(我不想使用reCaptcha)。我该怎么做

我使用的Mewebstudio验证码如下:

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:“#应用程序”
});

检查