Select下拉框选中选项仍返回null且required校验不通过问题咨询
下拉框提交值为null问题原因及解决方法
核心问题原因
- select标签重复定义
name属性:你提供的代码中<select>节点先后声明了两次name属性,第一个为name="",第二个才是name="college_degree"。浏览器解析DOM时会以第一个匹配到的属性值为准,即该下拉框的提交字段名是空值,因此后端无法通过college_degree字段名获取到选中的内容,返回null,这也是你校验不通过的根本原因。
其他可能的影响点
- 默认占位选项的value值为空格:第一个
<option>的value设为了" "(空格字符串),如果用户未主动选择其他选项,提交的内容为空格,部分校验规则会将非空的空格判定为合法值,导致required校验逻辑不符合预期。
修复方案
- 直接删除
<select>标签中多余的name=""属性,仅保留name="college_degree"即可让表单正常提交对应字段值 - 建议将默认占位option的value修改为
""空字符串,和required校验规则适配性更好 - 如果是AJAX提交表单,可在提交前打印序列化后的表单数据,确认
college_degree字段是否正常携带
内容的提问来源于stack exchange,提问作者ellajhonm
相关产品推荐
相关产品推荐

