Don*_*ama 18 php validation controller laravel laravel-4
我有这样的下拉菜单
<select name="selection">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<input type="text" name="stext">
Run Code Online (Sandbox Code Playgroud)
我想要在laravel
public static myfunction(){
$input = \Input::only('selection','stext');
$rule = array(
'selection' => 'required',
'stext' => 'required_if:selection,2,3',
);
$validate = \Validator::make($input,$rule);
}
Run Code Online (Sandbox Code Playgroud)
但如果我选择选项1,仍然需要stext.为什么?我怎么能解决它?
谢谢你.
lep*_*leg 37
您只需将所有值作为以逗号分隔的参数传递:
$rules = array(
'selection' => 'required',
'stext' => 'required_if:selection,2,3'
);
Run Code Online (Sandbox Code Playgroud)
RDe*_*Dev 36
我认为require_if验证每次只接受一个值.尝试更改验证码,如下所示:
$rule = array(
'selection' => 'required',
'stext' => 'required_if:selection,2|required_if:selection,3',
);
Run Code Online (Sandbox Code Playgroud)
编辑:检查LePhleg答案,更清洁.在答案不可能时,只需检查问题,他使用相同的方法但没有工作.
试试这个
如果单个匹配值然后像那样使用
'stext' => 'required_if:selection,2'
Run Code Online (Sandbox Code Playgroud)
如果您有多个值,则像这样使用(用逗号分隔)
'stext' => 'required_if:selection,2,3'
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅文档required_if