Laravel国家下拉选择项验证不通过且无法保存问题
问题根源
- AJAX提交逻辑中获取国家字段的选择器错误:视图层国家字段为
<select>标签,但register.js中使用input[name=country]查找元素,无法匹配到对应下拉框,导致提交的country值始终为空,因此触发必填校验报错,也无法正常保存数据。
修复方案
- 修正
register.js中的选择器,将input[name=country]替换为select[name=country]即可:
var url = form.attr('action'); $.ajax({ 'url': url, 'data': { 'email': form.find('input[name=email]').val(), 'first_name': form.find('input[name=first_name]').val(), 'last_name': form.find('input[name=last_name]').val(), 'country':form.find('select[name=country]').val(), // 仅修改此行即可 }, 'type': 'POST', // 原有后续代码保持不变
- 可选排查项(避免后续出现其他问题):
- 确认
App\User模型的$fillable属性中已添加country字段,否则fill方法会自动过滤该字段,导致数据无法写入数据库 - 确认数据库
users表已创建country字段,字段类型和长度匹配验证规则的max:200要求
内容的提问来源于stack exchange,提问作者Yassin
相关产品推荐
相关产品推荐

