javascript - 如何检查选择选项中的重复值

标签 javascript php jquery html validation

我有 6 个选择输入字段,所有 6 个输入字段都具有相同的选项值,但我希望每个选择输入值应该是唯一的,例如

Input 5 and Input 6 are optional input field but if they are filled then they should be validated for unique value

Input1   Input2   Input3  Input4   Input5  Input6   

value1   value1   value1  value1   value1  value1
value2   value2   value2  value2   value2  value2
value3   value3   value3  value3   value3  value3

现在,如果用户在 Input1 中选择了 value1,那么他就无法在其他选择字段中选择 value1

我知道我可以使用if elseif else来做到这一点,但它不会那么专业,是否有更好的方法来验证它。

最佳答案

将字段的所有输入放入一个变量中,然后仅获取唯一值。

请参阅下文。这会有帮助。

if ($_POST) {
  $validate_data = [];
  $is_valid = FALSE; 
  $validate_data[] = $_POST['Input1'];
  $validate_data[] = $_POST['Input2'];
  $validate_data[] = $_POST['Input3'];
  $validate_data[] = $_POST['Input4'];

  // get unique elements from array
  $result = array_unique($validate_data);
  // if array size is equal to no of input fields then means all are unique
  // else it has duplicate values
  if (count($result) != 4 ) {
     $is_valid = FALSE;
  } else {
     // Validate optional fields
     if (isset($_POST['Input5']) && in_array($_POST['Input5'], $result)) {
         $is_valid = FALSE;
      } else if (isset($_POST['Input6']) && in_array($_POST['Input6'], $result)) {
         $is_valid = FALSE;
      } else {
         $is_valid = TRUE;
      }
  }

  echo ($is_valid) ? 'All are unique.' : 'Invalid Data';
}

关于javascript - 如何检查选择选项中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42622477/

相关文章:

java - 是否可以强制 Php 中的 Web 应用程序与 Java 中的桌面应用程序一起使用?

javascript - 数据列表垂直滚动不适用于 chrome

javascript - 如何隐藏专注于 Android 的文本区域?

javascript - Google Charts 帮助 - 尝试将 JSON 加载到 Google Charts 但图表未显示

php - Linux 守护进程作为外部代理轮询 PHP webapp

javascript - 为什么 parseInt(013) 返回 11?

php如何基于动态考勤系统

javascript - 使文本一个字母一个字母地消失

javascript - 从表单提交事件获取表单操作和方法

javascript - 推送新数组