Laravel 5.8 基于单选框选中状态的必填字段验证需求
解决基于单选框状态的条件字段验证问题
我来帮你搞定这个根据单选框选中状态控制不同字段必填性的需求~刚好Laravel的验证规则里就有专门应对这种场景的required_if,直接用它就能完美解决!
你只需要修改Request类里的rules()方法,给route和clients_view分别加上对应的条件验证规则即可:
public function rules() { return [ 'title' => 'required', 'details' => 'required', 'web' => 'required', // 当单选框web的值为"web"时,route字段必填 'route' => 'required_if:web,web', // 当单选框web的值为"clients"时,clients_view下拉菜单必填 'clients_view' => 'required_if:web,clients', ]; }
规则说明:
required_if:web,web:第一个web是要判断的字段名(也就是你的单选框name),第二个web是该字段需要匹配的值。当单选框选中「Website」(对应值web)时,route文本框就会被标记为必填项。required_if:web,clients:同理,当单选框选中「mobApp」(对应值clients)时,clients_view下拉菜单就必须选择一个选项,不能留空。
这样设置后,表单提交时Laravel会自动根据单选框的选中状态,验证对应的字段是否填写,完全符合你的需求~
内容的提问来源于stack exchange,提问作者Yousef Altaf
相关产品推荐
相关产品推荐

