У меня есть 3 выбора ..
<select name="roles" id="roles" class="form-control" ng-model="newUserFormData.roles" multiple required>
<option ng-repeat="role in roleList" value="<% role.id %>"><% role.name %></option>
</select>
<select name="sites" id="sites" class="form-control" ng-model="newUserFormData.sites" multiple>
<option ng-repeat="site in siteList" value="<% site.id %>"><% site.name %></option>
</select>
<select name="projects" id="projects" class="form-control" ng-model="newUserFormData.projects" multiple>
<option ng-repeat="project in projectList" value="<% project.id %>"><% project.name %></option>
</select>
Примечание:
- Роли могут быть несколько .. является входнымтребуется ..
- (1) - Администратор (не входит в параметры)
- (2) - Ведущий
- (3) - Аналитик
- (4) - Key Entry
- . Сайтов может быть несколько .. Не требуется интерфейс.
- (1) - Loc 1
- (2) - Loc 2
- (3) - Loc 3
- Проектов может быть несколько .. Не требуется интерфейс ..
- (1) - Проект 1
- (2) - Проект 2
- (3) - Проект 3
теперь мой валидатор..
protected function validatorName(array $data)
{
return Validator::make($data, [
'roles' => 'required|array|min:1',
'sites' => 'required_unless:roles.*,in:2|required_unless:roles.*,in:3',
'projects' => 'required_unless:roles.*,in:2|required_unless:roles.*,in:3',
],[
'sites.required_unless' => 'Site is required unless Lead or Analyst is selected as role.',
'projects.required_unless' => 'Project is required unless Lead or Analyst is selected as role.',
]);
}
Проблема:
Когда я выбираю в качестве роли ведущего / аналитика, он по-прежнему требует сайтов и проектов, когдапредположительно, не должен.
Запросить полезную нагрузку: роли: ["3"],
Когда я выбираю Ввод ключа в качестве роли, этопо-прежнему требуются сайты и проекты наканунеn есть значения.
Запрос полезной нагрузки: проекты: ["1"], роли: ["4"], сайты: ["2"],
Чего мне не хватает?