如果禁用输入,则表单输入不会验证

时间:2018-06-11 20:59:15

标签: php html laravel forms validation

我有一个禁用的选项是页面不可编辑的。 这是我的代码:

 <select name="status" class="form-control" id="status" @if($page->editable == 0) disabled @endif>
   <option value="1" @if ($page->status == 1) selected @endif>Online</option>
   <option value="0" @if ($page->status == 0) selected @endif>Concept</option>
</select>

但是当输入被禁用时,他不发送任何值。 现在出现了问题。 我验证了表格。以下是我验证表单的代码:

$form = $request->validate([
    'status' => 'required',
]);

但是我现在得到的错误是值状态为空并且是必需的。 您现在是否如何设置仅需要的验证表单未被禁用?

我希望你能帮助我。

1 个答案:

答案 0 :(得分:2)

首先,您应该使用单独的功能进行存储和更新,

对于商店,您的验证代码似乎正确,但您可以添加boolean规则

$form = $request->validate([
    'status' => 'required|boolean',
]);

对于更新,您可以使用这样的验证规则,

$form = $request->validate([
    'status' => 'nullable|boolean',
]);

如果您使用相同的功能进行存储和更新,则应发送editable状态的值,然后您可以根据editable状态应用验证规则,

if ($request->editable) {
  ....
 }
 else {
...
}

我希望这会有所帮助