特定のクラスで動的入力フィールドをチェックする関数があります。これらのフィールドには電子メールアドレスが入力され、有効な電子メールアドレスかどうかがチェックされます。Javascript関数は、定義されていないので返しません。
複数のメールフィールドがある可能性があります。いずれかが電子メールアドレステストに失敗した場合は、FALSE
を返します。それ以外の場合はTRUE
を返します。最後にサブミット時にsave_form()
が実行されました。 false
が得られた場合は停止し、そうでない場合は続行します。しかし、それは常に「未定義」になります。
function validate_email_string(email_address) {
var emailReg=/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var emailTest = emailReg.test(email_address);
var result = (emailTest === false) ? false : true;
return result;
}
function validate_email_extensions(email_field_selector, message) {
var invalid_message = null;
if (typeof message !== "undefined") {
invalid_message = message;
} else {
invalid_message = '<?=lang("i18n_invalid_email_address");?>';
}
var email_fields_length = $(email_field_selector).length;
var is_valid = true;
if (email_fields_length) {
$(email_field_selector).each(function(index, el) {
if($(el).val()) {
if(!validate_email_string($(el).val())) {
is_valid = false;
}
if (index === email_fields_length - 1) {
if (is_valid === false) {
Interact.show(invalid_message);
}
return is_valid;
}
} else {
if (index === email_fields_length - 1) {
if (is_valid === false) {
Interact.show(invalid_message);
}
return is_valid;
}
}
});
} else {
return is_valid;
}
}
function save_form() {
var emails = validate_email_extensions('.jq-extension-email');
if(!emails){return false}
....
しかしvalidate_email_extensions
関数はundefinedを返します:ここで
は私が持っているものです。私はconsole.log()
をどこに置いても、おそらくそれは私の盲目ですが、どんな助けもありがとうございます。
@Hanky Panky最初に 'if'は何も返さないはずです:)デフォルトのメッセージを設定するだけです。とにかく貢献してくれてありがとう。 – YahyaE
ええ私は正確に言及していませんでしたが、私はそれがあいまいである可能性があることを認識したので、コメントを削除し、別のコンテンツの回答に入れました –