【问题标题】:Search in mysql by Javascript通过Javascript在mysql中搜索
【发布时间】:2016-11-13 19:05:57
【问题描述】:

早上好,我正在尝试检查输入的 cpf 是否已经存在于数据库中,我正在使用 laravel,有人可以帮助我吗?

在我的控制器中,我寻找并列出了银行中的所有 cpf:

$cpfduplicado = UsuarioEsic::lists('doc', 'id')->all();
foreach ($cpfduplicado as $cpf)
            if ($cpf == $request->cpf)
                $cpf = 'verdadeiro';
//                return redirect('/Esic/CadastroFisica');
return redirect('/Esic/Sucesso');

我不确定如何在 javascript 中创建一个函数来获取这些数据并设置自定义浏览器有效性,我做了这样的事情:

$(function cpfdupli(input) {
$('.btnCadastroo').on('click', function (json){
    if (json.cpf === 'verdadeiro'){
        document.getElementById('cpff');
            input.setCustomValidity('Cpf já existe.');
        } else {
            input.setCustomValidity('');
        }
    });
});

我是该领域的初学者,真的不知道如何做这项工作,我只是希望 cpf 已经在浏览器中设置了一个 CustomValidity 并且不让他继续注册,如果有人可以帮助我或给我如何解决这个问题的其他方法我将不胜感激!

PS:任何关于代码的问题都可以提供。

【问题讨论】:

  • 看来你的 js 代码完全错误,你需要 ajax 来调用 laravel 路由返回一个查询然后检查,你的 html 页面是什么样的,多一点信息所以我们可以更多地了解试图发生的事情:-)
  • 我只想在专业用户输入我的数据库中已经存在的 CPF 号码时发出警告,在这种情况下,控制器会进行研究,如果它返回 true,我会在 javascript 中执行 setCustomValidity ,我不知道该怎么做,你能帮帮我吗?
  • 希望以下内容有效,询问您是否还有其他问题,或作为新提交发布。

标签: javascript mysql laravel laravel-5.2


【解决方案1】:

好的,我会尝试做你想要的:

假设 html 输入类似于:

 <input type="text" value="" id="cpff" />

然后我们有一些 js 来获取上面输入框中的详细信息,下面会在输入到输入中的每个字母上执行此操作,因此它会在用户输入时不断检查,然后在用户输入时给出视觉响应,所以他们现在如果它采取或不作为打字:

   $('input#cpff').on('keyup', function(evt){
      //-- get for value on keyup
      var inputValue = this.value;
      //-- call to the controller to check
      $.ajax({
        url : '/check/cpff/',
        type: 'POST',
        data {cpffValue : inputValue},
        success : function(res){
          console.log(res);
          if(res === 'succcess'){
            //-- output a tick icon to let the user know all is ok so far
          } else {
            //-- output an red x to sai no its been used
          }
        },
          error : function(msg, x){
            console.log(msg);
          }
      })

    }); 

所以对于输入框中输入的每个字母,代码会将值发送到路由/check/cpff,然后返回一个布尔值/字符串以查看它是否正常,希望你还在我身边吗?

路线:

  Route::post('/check/cpff', ['uses' => 'ControllerName@checkCPFF']);

控制器

    Class ControllerName extends Controller {

        public function checkCPFF(Request $request){
            //-- get the ajax data variable -- cpffValue
            $formValue = $request->get('cpffValue');
            //-- lets chec to see if we have an entry with those values
            $doesItExsist = ModelName::where('field_name',$formValue);
            //-- if we have a result from the DB then return not allowed
            return ($doesItExsist) ? 'not-allowed' : 'allowed'
        }

    }

所以上面的控制器获取表单提交的数据值,然后检查所需的数据库表并搜索该值,如果它不能,那么用户有一个有效的条目,如果找到一个值,那么用户必须更改他们的条目等

它有点粗糙,我没有什么可以用 etc 进行测试,所以可能/将需要更好的工作/编写工作,您可以随时更改 js 以在提交表单时做同样的事情等,

这里是测试输入部分的链接。要查看结果,请打开控制台,以便您可以看到正在输入的值。 Example of keyup

我希望它能给你一种帮助的起点......

【讨论】:

  • 非常感谢,上帝保佑你。
  • 没问题,明白我们都需要从某个地方开始,希望一切都好,或者至少开始进一步调查
猜你喜欢
  • 1970-01-01
  • 2018-02-18
  • 2016-10-21
  • 1970-01-01
  • 2023-02-10
  • 2018-12-25
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多