【问题标题】:Laravel 8 validation to only accept the followingLaravel 8 验证仅接受以下内容
【发布时间】:2021-02-23 04:58:14
【问题描述】:

我有一个返回 1、2 和 3 的多选表单。 我想验证它只会接受某些组合,例如:

    1
    1 & 2
    1 & 2 & 3
    2
    2 & 3

任何想法如何使这项工作?谢谢!

我的刀片文件


<select id="role" class="form-multiselect block mt-1 w-full" multiple name="role" required />
 <option value="1"> Role 1</option>
 <option value="2"> Role 2</option>
 <option value="3"> Role 3</option>
</select>

我的验证:

   'role' => ['required', RULE::in(['1'])] // Tried it with just one value but now it shows selected role is invalid

【问题讨论】:

  • 那么1 & 3 会被视为无效?
  • 1和3、3会失效

标签: php laravel validation


【解决方案1】:
request()->validate([
    'column_name' => 'required|in:1,2,3'
]);

【讨论】:

    【解决方案2】:

    这很难看,但可以完成工作。 在我验证之前。我添加了这个。

      $invalid = array('1', '3');
      $invalid2 = array('3');
    
    if ($this->role == $invalid2) {
        $this->confirmingUserAdd = false;
        session()->flash('error', 'Cannot add');
    }
    
    if ($this->role == $invalid) {
        $this->confirmingUserAdd = false;
        session()->flash('error', 'Cannot add');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 2018-05-16
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多