首页 > 解决方案 > 表单验证:我应该如何验证一个依赖用户输入与另一个用户输入?

问题描述

谢谢你的时间。我首先要说我刚刚开始我的 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');

标签: javascriptvalidation

解决方案


推荐阅读