以上代码中的form 所有选项必填并改进样式显示
时间: 2024-04-05 17:34:16 浏览: 136
下面的代码是一个简单的修改密码表单,所有选项都是必填项,并且在输入框为空或填写不符合要求时会有错误提示信息显示。同时,也对样式进行了一些改进:
```html
<form>
<div class="form-group">
<label for="current-password">当前密码</label>
<input type="password" class="form-control" id="current-password" name="current-password" placeholder="请输入当前密码" required>
<div class="invalid-feedback">请输入当前密码</div>
</div>
<div class="form-group">
<label for="new-password">新密码</label>
<input type="password" class="form-control" id="new-password" name="new-password" placeholder="请输入新密码" pattern=".{6,}" title="密码长度必须大于等于6位" required>
<div class="invalid-feedback">密码长度必须大于等于6位</div>
</div>
<div class="form-group">
<label for="confirm-password">确认密码</label>
<input type="password" class="form-control" id="confirm-password" name="confirm-password" placeholder="请再次输入新密码" pattern=".{6,}" title="密码长度必须大于等于6位" required>
<div class="invalid-feedback">密码长度必须大于等于6位</div>
</div>
<button type="submit" class="btn btn-primary">确认修改</button>
</form>
```
在上面的代码中,我们使用了 HTML5 中的 `required` 属性来标识所有选项都是必填项。当用户没有填写该项时,输入框会出现红色边框,并且在输入框下方会显示错误提示信息。
同时,我们也使用了 `pattern` 和 `title` 属性来限制密码的长度,如果用户输入的密码长度小于6位,输入框下方也会显示错误提示信息。
为了使错误提示信息显示更加美观,我们还需要添加以下 CSS 代码:
```css
.form-control:invalid {
border-color: #dc3545;
padding-right: calc(1.5em + .75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23dc3545' d='M7.9 7.1L4.5 3.7l3.4-3.4c.2-.2.2-.5 0-.7L7.7.1c-.2-.2-.5-.2-.7 0L3.7 3.5 0 7.1c-.2.2-.2.5 0 .7l.7.7c.2.2.5.2.7 0l3.4-3.4 3.4 3.4c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(.375em + .1875rem) center;
background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}
.form-control:invalid:focus {
border-color: #dc3545;
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.invalid-feedback {
display: none;
color: #dc3545;
margin-top: .25rem;
font-size: 80%;
}
.form-control:invalid + .invalid-feedback {
display: block;
}
```
这段 CSS 代码会使输入框出现红色边框,并且在输入框右侧显示一个红色的叉号图标,同时在输入框下方显示错误提示信息。
阅读全文