element el-form 问题及解决方法(多个inpu框校验,清除校验等)

这篇文件主要介绍一下在使用 element-plus 时遇到的问题及解决方案。

表单项包含多个 input 框

条件:触发验证时两个 input 框都亮了,但实际上一个必填,一个选填。

以前状况:两个 input 框都高亮。

<el-form-item label="联系方式:" prop="phone">
  <div class="df">
    <div class="item-title">手机号</div>
    <el-input
      type="phone"
      placeholder="请输入"
      v-model="formData.phone"
      maxlength="11"
    ></el-input>
  </div>
  <div class="df mt8">
    <div class="item-title wx-label">微信号(选填)</div>
    <el-input
      type="text"
      placeholder="请输入"
      v-model="formData.wechat"
      maxlength="16"
    ></el-input>
  </div>
</el-form-item>

解决后:只有需要高亮的高亮

当一个 el-form-item 中有两个 input 时,且你只需要让某个 input 框触发校验时。你可以使用表单嵌套去解决。

就是在 el-form-item 再放一个 el-form-item,把 prop 写在需要验证的 input 中。

解决代码

<el-form-item label="联系方式:" class="bf">
  <el-form-item prop="phone">
    <div class="df">
      <div class="item-title">手机号</div>
      <el-input
        type="phone"
        placeholder="请输入"
        v-model="formData.phone"
        maxlength="11"
      ></el-input>
    </div>
  </el-form-item>
  <div class="df mt8">
    <div class="item-title wx-label">微信号(选填)</div>
    <el-input
      type="text"
      placeholder="请输入"
      v-model="formData.wechat"
      maxlength="16"
    ></el-input>
  </div>
</el-form-item>

当这样修改后会发现联系方式前面的星号没了,没关系,可以通过手动加样式完美解决

<style scoped lang="scss">
.bf {
  :deep(.el-form-item__label::before) {
    content: "*";
    color: var(--el-color-danger);
    margin-right: 4px;
  }
}
</style>

清除校验

表单清除校验,可以再表单加载或取消时使用,防止表单重新加载验证还在

formRef.value.clearValidate();   // 清除校验但不清除数据

formRef.value.resetFields();      // 清除校验同时清除数据

### 如何批量删除私有 Docker Registry 中的镜像 为了批量删除私有 Docker Registry 中的镜像,可以采用脚本化的方式来进行操作。由于 Docker Registry API 提供了管理镜像的功能,因此可以通过调用这些API来实现自动化处理。 #### 使用 `curl` 和 Shell 脚本来批量删除镜像 首先,获取要删除的镜像列表。这通常涉及到查询仓库中的所有(tag),并决定哪些需要被移除: ```bash #!/bin/bash REGISTRY="registry.example.com" REPO="myrepo" # 获取所有的tags TAGS=$(curl -s https://${REGISTRY}/v2/${REPO}/tags/list | jq -r '.tags[]') for tag in ${TAGS}; do echo "Deleting image: ${tag}" # 删除指定tag的manifest curl -X DELETE \ -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \ "https://${REGISTRY}/v2/${REPO}/manifests/${tag}" done ``` 上述脚本通过遍历给定仓库下的所有签,并逐一发送 HTTP DELETE 请求到相应的 manifest URL 来完成删除动作[^1]。 需要注意的是,在执行此命令之前应当确认目Registry支持 v2 版本的API接口,并且客户端已经正确配置了认证信息以便能够访问受保护的资源。 另外,如果希望更精细地控制哪些镜像应该被保留或删除,则可以在循环体内加入额外逻辑判断条件,比如基于时间戳或者其他元数据属性筛选特定范围内的版本进行清理工作。 对于某些特殊场景下可能还需要考虑如何安全有效地备份重要数据以及防止误删等问题;建议先在一个测试环境中验证整个流程后再应用于生产环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值