フォームのフィールドを検証するために書かれた JavaScript 関数があります。この関数は、フィールドが空でないこと、35 文字の制限を超えていないこと、アルファベット文字とハイフン (-) のみが含まれていることを確認することになっています。フィールドが空ではなく、35文字を超えていないことを確認するコードがあり、正常に機能しましたが、フィールドを使用可能な文字に検証するコードを追加し、フィールドを空のままにしてテストしました。しかし、送信ボタンを押したとき、関数はまったく検証されていないようで、アラートは表示されず、送信されました。これが私のコードです:
function validateFamily()
{
var family=document.getElementById('family');
var stringf = document.getElementById('family').value;
if (family.value=="")
{
alert("Family name must be filled out");
return false;
}
else if (document.getElementById('family').value.length > 35)
{
alert("Family name cannot be more than 35 characters");
return false;
}
else if (/[^a-zA-Z\-\]/.test( stringf ))
{
alert("Family name can only contain alphanumeric characters and hypehns(-)")
return false;
}
return true;
}
<form name="eoiform" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi" onsubmit="return validateFamily() && validateGiven() && validateMaleFemale() && validDate() && validateAddress() && validatePost() && validateParent() && validateWork() && validateHome() && validateMob() && validateCheckBoxes();">
<b>Student's Family Name</b>
<br>
<input type="text" id="family" name="family" /><?php echo $strmsgf; ?>
<input type="submit" name="submit" id="submit" value="submit" />
</form>
誰かが私のコードを修正する方法を教えてもらえますか?