javascript - 表单验证:我应该如何验证一个依赖用户输入与另一个用户输入?
问题描述
谢谢你的时间。我首先要说我刚刚开始我的 JS 之旅,在这里真的可以使用一些帮助。
我正在尝试利用 JS 在我们的学生信息系统中验证新学生注册表格的 DOB。在表格中,我们有 DOB 和 GL/Grad。年在其他领域。我想做的是验证 DOB 是否符合所选 GL。
为了让这更有活力,我想用毕业年份来验证,因为它不必经常改变,而是毕业。Yr 是根据年级计算得出的,而不是实际的用户输入字段。
我对 JS 几乎一无所知,我希望能够为一些可行的代码提供任何方向,甚至可以为未来提供资源来为自己配备适应性强的技能集。
现在,我所做的只是在成功加载表单时提示警报,但它实际上并没有过滤和要求健康数据。此外,我已经格式化了要突出显示的字段,以使条目更具有指导性,超出通过配置面板分配的必填字段。
document.getElementById('tStateID').style.backgroundColor= "Yellow";
document.getElementById('sGender').style.backgroundColor= "Yellow";
document.getElementById('sEthnicity').style.backgroundColor= "Yellow";
document.getElementById('dBirthdate').style.backgroundColor= "Yellow";
document.getElementById('tBirthCountry').style.backgroundColor= "Yellow";
document.getElementById('tGradYear').style.backgroundColor= "Yellow";
document.getElementById('sState').style.backgroundColor= "Yellow";
document.getElementById('eRace').style.backgroundColor= "Yellow";
document.getElementById('eLanguage').style.backgroundColor= "Yellow";
document.getElementById('eNativeLang').style.backgroundColor= "Yellow";
document.getElementById('eHomeLang').style.backgroundColor= "Yellow"; function checkCountry() {
if (document.getElementById("tBirthCountry").value=="")
return;
if (document.getElementById("tBirthCountry").value.toUpperCase()=="USA") {
unFlagAsRequired('tInitUSEnrl','lblInitialUSEnrollment');
unFlagAsRequired('tNbrMnthNonUSAttn','lblNbrofMnthNonUSAttn');
}
else {
flagAsRequired('tInitUSEnrl','lblInitialUSEnrollment');
document.getElementById('tInitUSEnrl').style.backgroundColor= "Yellow";
flagAsRequired('tNbrMnthNonUSAttn','lblNbrofMnthNonUSAttn');
document.getElementById('tNbrMnthNonUSAttn').style.backgroundColor= "Yellow";
}
function unFlagAsRequired(pField,pLabel) {
if (!pField || !pLabel) {
return;
}
document.getElementById(pLabel).innerHTML =
document.getElementById(pLabel).innerHTML.replace('* ','');
for (var i = 0; i < gExtraValidationField.length; i++) {
if (gExtraValidationField[i] != "" && typeof(gExtraValidationField[i]) != "undefined") {
if (gExtraValidationField[i]==pField) {
gExtraValidationField[i]="";
}
}
}
for (var i = 0; i < gExtraValidationLabel.length; i++) {
if (gExtraValidationLabel[i] != "" && typeof(gExtraValidationLabel[i]) != "undefined") {
if (gExtraValidationLabel[i]==pLabel) {
gExtraValidationLabel[i]="";
checkCountry();
addEvent(document.getElementById('tBirthCountry'),'change',checkCountry);
flagAsRequired('sGender','lblGender');
flagAsRequired('sEthnicity','lblFederalStateEthnicity');
flagAsRequired('sState','lblStateRace');
flagAsRequired('eRace','lblLocalRace');
解决方案
推荐阅读
- windows - 如何在 Windows 上使用命令提示符获取 .exe 文件的内存大小
- python - 在 anaconda 中设置虚拟环境失败
- c - Atmel 工作室无法将 char 数组作为字符串发送
- excel - ¿ 如何从打开的 excel 中复制和粘贴信息?
- asp.net-mvc - IIS 7 - 部署 web 项目后,一些 css 和 js 文件给出 403 错误
- php - 更快地运行 openssl 加密功能
- c# - 带有继承类的 C#/WCF 中的 XML 序列化错误
- android - 仅将 Firebase 分析重新路由到另一个帐户
- java - Java 持久异常
- jquery - $(...).tabOverride 在使用 tabOverride jquery api 时不是一个函数