首页 > 解决方案 > 表单字段 条件验证

问题描述

如果满足某个条件,我正在尝试验证表单上的某些字段,条件是如果单击复选框,则下面的字段将是必需的并且是强制性的,如果不是,则这些字段不是强制性的。 在此处输入图像描述

标签: javascriptphplaravelbootstrap-4

解决方案


后端验证

你可以使用required_ifLaravel 验证规则

$validator = Validator::make($request->all(), [

     'checkbox_field' => 'required|boolean',
     'otherField' => 'required_if:checkbox_field,1',
     // same for other fields

]);

if ($validator->fails()) {
    dd('Validation Error.', $validator->errors());
}

$validatedData = $validator->validated();

前端验证

您还可以使用 jQuery 添加所需的约束

$('#myCheckBoxId').change(function() {

    if($(this).is(':checked')) {
        console.log("Checked");
        $("#myInput1ID").prop('required',true);
        $("#myInput2ID").prop('required',true);
        //...
    } else {
        console.log("Unchecked");
        $("#myInput1ID").removeAttr('required');
        $("#myInput2ID").removeAttr('required');
        //...
    }    

});

检查工作演示


推荐阅读