Tôi đã làm việc này trong vài giờ và dường như không hoạt động. Tôi cần nhiều hơn một email trong phần khách hàng của chúng tôi, trong cùng một trường nhập.2+ (nhiều) email trong jQuery Nhập văn bản được xác thực
Ngay bây giờ tôi có (mà hoạt động tuyệt vời cho một email):
<script language="JavaScript">
$(document).ready(function(){
$("form#editclient").validate({
rules: {
Contact: {
required: true
},
Clientname: {
required: true
},
ClientLogin: {
required: true
},
ClientPassword: {
required: true
},
email: {
required: true,
multiemail: true
}
},
messages: {
Contact: {
required: "Please enter your Contact Nmae."
},
Clientname: {
required: "Please enter your Client Name"
},
ClientLogin: {
required: "Please enter a login."
},
ClientPassword: {
required: "Please enter a password"
},
email: {
required: "Please enter an Email Address",
multiemail: "You must enter a valid email, or comma separate multiple"
}
}
});
});
</script>
<input type="Text" id="email" name="Email" value="#Trim(Email)#" maxlength="60" class="inputText430 email required">
Tôi đã thấy điều này được cho là để có được xác nhận nhiều lao động:
jQuery.validator.addMethod(
"multiemails",
function (value, element) {
if (this.optional(element)) // return true on optional element
return true;
var email = value.split(/[;,]+/); // split element by , and ;
valid = true;
for (var i in email) {
value = email[i];
valid = valid && jQuery.validator.methods.email.call(this, $.trim(value), element);
}
return valid;
},
jQuery.validator.messages.multiemail);
Nhưng tôi không thể làm cho nó hoạt động đúng. Ai đó có thể giúp tôi có khả năng xác nhận 2 hoặc nhiều email trong một trường văn bản không?
Xin cảm ơn trước.
(chỉnh sửa để thêm multiemail trong các quy tắc và thông điệp) (chỉnh sửa với giải pháp dưới đây) SOLUTION
<form>
<input id='emailTest' name='emailTest' />
<input type='submit' />
</form>
<script type="text/javascript">
jQuery.validator.addMethod(
"multiemail",
function (value, element) {
var email = value.split(/[;,]+/); // split element by , and ;
valid = true;
for (var i in email) {
value = email[i];
valid = valid && jQuery.validator.methods.email.call(this, $.trim(value), element);
}
return valid;
},
jQuery.validator.messages.multiemail
);
$("form").validate({
debug: true,
rules: {
emailTest: {
multiemail: true
}
},
messages: {
emailTest: {
multiemail: "You must enter a valid email, or comma separate multiple"
}
},
submitHandler: function(form) {
return false;
}
});
Làm cách nào nó hoạt động không chính xác? Bạn có nhận được thông báo lỗi không, chức năng này có được gọi không? tôi nghi ngờ một lỗi như bạn có 'jQuery.validator.messages.multiemails' như là một paramater trong hàm addMethod nhưng tôi không thấy một định nghĩa cho nó trong mã của bạn, vì vậy bạn có thể nhận được một lỗi biến không xác định. –
Không có lỗi nào xuất hiện trong bảng điều khiển và việc xác thực trường email hoạt động như bình thường, vì sẽ chỉ nhận ra 1 email là hợp lệ. –