電子メールアドレスが入力されていても有効ではないというメッセージを表示します。値が入力されていなければ、私はメッセージを表示したくない - ちょうど入力枠線を赤にする。電子メールが入力されたが有効な電子メールではない場合にのみメッセージを表示する電子メールの妥当性確認
私はこれを試してみましたが、それはフィールドが空の場合でも、メッセージを示しています
function validateEmail($email) {
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
return emailReg.test($email);
}
if($(element).hasClass('email')) {
if(!validateEmail($('.email'))) {
$('<span>Please enter a valid email address</span>').insertAfter($(element));
}
}
私もqjeuryの検証プラグインで試してみましたが、この場合には、それはで電子メールのエラーが表示されませんすべて:
var emails = ['email'];
for(var i=0;i< emails.length;i++) {
var email = emails[i];
rules[email] = {};
rules[email].email = true;
rules[email].required = true;
msgs[email] = {
required:'',
email : "Please enter a valid email address",
}
}
var validateObj = {}
validateObj["rules"] = rules;
validateObj["messages"] = msgs;
validateObj["onkeyup"] = function(element) { $(element).valid();};
validateObj["success"] = function(element) {};
validateObj["submitHandler"] = function (form) {
form.submit();
}
$("#form").validate(validateObj);
私ができます」現在はテストしていませんが、jqueryの検証コードは非常に奇妙で非標準的です。これは非常に一般的な使用例です。使用できるコードサンプルがたくさんあるはずです。電子メールの検証にカスタム正規表現を使用することは避けてください。 – user1751825
それはカスタムではありません、私はjqueryバリデーションプラグインを使用しています、ちょうどこの方法で書かれています。私はオブジェクトのルール、メッセージを定義します。それは単なる構文です。 –