我们在我们的应用程序中使用了广泛的 struts2。现在具有挑战性的任务是删除所有 struts2 默认验证并引入带有 Css 验证的 HTML5。
struts2 表单示例
<s:form id="userForm" action="userAction" method="post" validate="true">
<s:password key="Pwd" required="true" maxlength="128" />
</s:form>
在这个我想使用 HTML5 属性“type=password”和“required”和 pattern="(?=. \d)(?=. [a-zA-Z])\w{7,}" 并且想要对所有这些进行 CSS 验证。我怎样才能做到这一点。用示例或任何相关教程进行解释更受赞赏。
我希望这能解释我在使用 css 验证时遇到的问题
波纹管是我的支柱形式
<s:form id="userForm" action="userAction" method="post" validate="true">
<s:password key="Pwd" type="email" required="true" maxlength="128" id="password" pattern="(?=.*\d)(?=.*[a-zA-Z])\w{7,}"/>
<span class="form_hint">Password should contain,</br>
1.minimum of 7 characters. </br>
2. Must consist of only letters and digits.</br>
3.At least one letter and at least one digit</span>
</s:submit type="button">
</s:form>
我想验证此密码字段 1.required 表示用户在提交之前输入或未输入,2.password 是否符合给定的模式标准,如果是我想将文本变为绿色。
我的CSS如下,
.form_hint {
background: #d45252;
border-radius: 3px 3px 3px 3px;
color: white;
margin-left:8px;
padding: 1px 6px;
z-index: 999;
position: absolute;
display: none;
}
.form_hint::before {
content: "\25C0";
color:#d45252;
position: absolute;
top:1px;
left:-6px;
}
#emailId input:focus + .form_hint {
display: inline;
}
#emailId input:required:valid + .form_hint {
background: #28921f;
}
#emailId input:required:valid + .form_hint::before {
color:#28921f;
}
但是在屏幕上,当我单击密码无效的提交按钮时,只有 HTML5 模式标记属性正在处理诸如“请输入所需格式”之类的消息。如何使我的 CSS 有效。我必须在我的 CSS 文件中使用什么语法。我的意思是“#emailId input:focus + .form_hint”、“#emailId input:required:valid + .form_hint”、“#emailId input:required:valid + .form_hint::before”在我的表单中没有生效。