请教 点击获取验证码按钮,如何验证手机号?
1. 运行环境
1). 当前使用的 Laravel 版本?
Laravel 10
2. 问题描述?
<form method="POST" action="{{ route('signup') }}">
@csrf
<input id="phone" name="phone" />
<button type="button">点击发送验证码</button>
<button type="submit">提交表单</button>
</form>
请教如何在 点击发送验证码 按钮之后,先验证 id=”phone” 的值?
(验证规则放在 StorePostRequest.php 里面)
3. 您期望得到的结果?
4. 您实际得到的结果?
能否直接操作控制器? 如果使用ajax,如何把json的错误信息,显示在表单下面?
在点击发送验证码按钮之后,验证id=”phone”的值可以通过以下步骤实现:
为“点击发送验证码”按钮添加一个事件监听器,监听器函数应该调用验证函数
编写验证函数来获取id=”phone”的值并进行验证
如果验证通过,则向用户发送验证码;否则,阻止表单提交并向用户显示错误消息
以下是一种简单的实现方式,供参考:
在这个代码中,首先获取了“点击发送验证码”按钮和id=”phone”的输入框,并为按钮添加了一个事件监听器。当用户点击按钮时,监听器函数会获取输入框的值并使用正则表达式验证手机号码。如果手机号码格式不正确,则向用户显示错误消息并结束函数。如果手机号码验证通过,则可以将验证码发送给用户。
此外,在表单提交时,我们再次验证手机号码并阻止表单提交,以确保表单中的数据都是合法的。
以上代码只适用于前端验证
后端验证:StorePostRequest.php 文件,在配置好验证规则后,会返回422错误, 并且会在响应内容中附带错误信息,可直接从信息中获取即可。
没必要服务端做吧,js点击的时候做个正则,未通过就把错误信息追加到指定html位置
我认为这种初步检测是前端的工作,后端考虑的更多是安全问题(个人观点)