【问题标题】:How can I do automatic validation email laravel?如何进行自动验证电子邮件 laravel?
【发布时间】:2017-08-23 07:49:49
【问题描述】:

我使用 laravel 5.3

我的视图刀片是这样的:

<form id="form-register" role="form" method="POST" action="{{ url('/register') }}">
    ...
    <div class="{{$errors->has('email')?'form-group has-error': 'form-group'}}">
        {{Form::label('email', 'Email'), ['class' => 'control-label'])}}
        {{Form::email('email', old('email'), ['class' => 'form-control', 'id' => 'email')}}
        @if ($errors->has('email'))
            <span class="error error-server help-block">Please Enter Your Valid Email</span>
        @endif
    </div>
    ...
</form>

我的验证是这样的:

public function rules()
{
    return [
        ...
        'email' => 'required|email|max:255|unique:users'
    ];
}

有效

如果我输入一个已经在数据库表中的email,然后我提交,就会出现message validation email invalid

但是我想改成自动验证

所以如果用户在数据库表中输入一个已有的email,就会自动出现message validation email invalid

我该怎么做?

【问题讨论】:

  • 如果我理解得很好,您希望在您的 HTML 中输入以检查用户是否在您的表单中键入了现有的电子邮件?如果是,则需要添加 ajax 请求来检查输入。
  • 正如@EkinOf 所说,您可以通过 ajax 调用电子邮件输入字段中的更改操作来实现。
  • 检查 this 答案,使用 AJAX 做到了
  • @AddWeb Solution Pvt Ltd,我想在用户输入输入文本后检查电子邮件。不是在点击提交按钮后
  • 你试着用详细的答案来回答

标签: forms laravel validation email laravel-5.3


【解决方案1】:

在您的输入更改时,您需要向后端发送一个 Ajax 请求,该请求将到达一个 API,该 API 将检查所请求电子邮件的存在。

【讨论】:

  • 你试着用详细的答案来回答
【解决方案2】:

如果我对您的理解正确,您希望显示 Validator 为电子邮件字段返回的确切错误消息

您可以通过调用此$errors-&gt;first('email') 来获取电子邮件返回的第一条错误消息

这是一个例子

@if ($errors->has('email'))
  <span class="error error-server help-block">{{$errors->first('email')}}</span>
@endif

【讨论】:

  • 我认为他不想显示确切的错误消息。 OP 尝试做的是,在按下提交之前动态检查电子邮件是否已经存在以提醒用户。
  • @Digitlimit,我想在用户输入输入文本后检查电子邮件。不是在点击提交按钮后
  • 在这种情况下,您需要使用 jQuery。这个有很多 jQuery 插件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 2019-09-18
  • 1970-01-01
  • 2019-02-12
  • 2021-02-15
  • 2017-06-23
  • 1970-01-01
相关资源
最近更新 更多